0

所以我在 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

4

1 回答 1

0

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

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

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

于 2014-10-06T20:00:02.983 回答