所以我在maven中使用CodeNarc作为ant任务。
对于我的自定义规则集,我可以使用IllegalRegexRule。但是,当我尝试添加其他内容时,我有时会得到一个ClassNotFoundException。
例如,一旦我将其添加到我的ruleset.xml
<rule class='org.codenarc.rule.formatting.MissingBlankLineAfterPackage'>
<property name='priority' value='1'/>
</rule>
我看到了
无法在项目myProject上执行目标org.apache.maven.plugins:maven-antrun-plugin:1.7:run(codenarc):发生了Ant BuildException:java.lang.ClassNotFoundException:org.codenarc.rule.formatting .MissingBlankLineAfterPackage
知道为什么会这样吗? 我正在使用版本0.18的codenarc,这是CodeNarc的ant依赖:
<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 :(得分:0)
原来我只是打错了。你需要使用:
<rule class='org.codenarc.rule.formatting.MissingBlankLineAfterPackageRule'>
<property name='priority' value='1'/>
</rule>
请注意&#39;规则&#39;在班级名称的末尾。