2014-10-01 62 views
0

所以我使用CodeNarc作为maven中的ant任务。一些CodeNarc规则抛出ClassNotFoundException

对于我的自定义规则集,我可以使用IllegalRegexRule。但是,当我尝试添加其他内容时,我有时会遇到ClassNotFoundException。

例如,一旦我把这个添加到我的ruleset.xml

<rule class='org.codenarc.rule.formatting.MissingBlankLineAfterPackage'> 
    <property name='priority' value='1'/> 
</rule> 

我看到

未能执行目标org.apache.maven.plugins:Maven的antrun-插件:1.7:项目myProject的运行(codenarc):一个蚂蚁BuildException已发生:抛出java.lang.ClassNotFoundException:org.codenarc.rule.formatting.MissingBlankLineAfterPackage

任何IDE为什么会发生这种情况? 我使用codenarc的0.18版本,这里的蚂蚁依赖于CodeNarc:

<dependency> 
    <groupId>org.codenarc</groupId> 
    <artifactId>CodeNarc</artifactId> 
    <version>0.18</version> 
    <exclusions> 
     <exclusion> 
      <groupId>ant</groupId> 
       <artifactId>ant</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

编辑: 这个问题仍然版本发生0.21

+0

因此,在运行codenarc版本0.21时添加相同的MissingBlackLineAfterPackage规则(可用的起始值为0.21)仍未找到,还是找不到其他规则? – 2014-10-02 13:13:07

+0

它发生在两个版本中。尽管我忘了在规则名称的末尾添加“规则”。 – Inbl 2014-10-06 19:59:23

+0

好的。一定要将你的答案标记为最终答案。 – 2014-10-07 01:03:21

回答

0

原来我只是做一个错字。您需要使用:

<rule class='org.codenarc.rule.formatting.MissingBlankLineAfterPackageRule'> 
    <property name='priority' value='1'/> 
</rule> 

注意类名称末尾的“规则”。

相关问题