一些CodeNarc规则抛出ClassNotFoundException

时间:2014-10-01 21:21:48

标签: maven ant groovy codenarc

所以我在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版本上仍会出现此问题

1 个答案:

答案 0 :(得分:0)

原来我只是打错了。你需要使用:

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

请注意&#39;规则&#39;在班级名称的末尾。