2014-10-01 64 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> 

注意類名稱末尾的「規則」。

相關問題