4

私は次のことを試みます:

  1. すべての Maven2 プロジェクトに対して定義された標準 POM があります。
  2. その POM には使用するツールが含まれており、PMD の場合は使用するルールセットが含まれています。
  3. これらのルールセットにそれぞれ名前を付けるプロパティを定義しました。

これが機能していることを知るまで。新しいプロジェクト POM を定義し、そこを標準 POM の親として使用し、そこで定義されたルールセットを使用できます。ルールセットを別の名前で定義するプロパティの定義をオーバーライドすることもできます。

私はそれをauth-pmd-rule-set-3.x-v1-5.xml代わりにpmd-rule-set-3.x-v1-5.xml(Maven2によって選択される)として定義しauth-pmd-rule-set-3.x-v1-5.xml、新しいプロジェクト(の下src/main/resources)にファイルをローカルに含めました。しかし、Maven はそれを見つけられません。エラー メッセージは次のようになります。

[デバッグ] ルールセットを準備しています: auth-pmd-rule-set-3.x-v1-5.xml

[デバッグ] 前: auth-pmd-rule-set-3.x-v1-5.xml 後: auth-pmd-rule-set-3.x-v1-5.xml

[デバッグ] リソース 'auth-pmd-rule-set-3.x-v1-5.xml' が resourceLoader org.codehaus.plexus.resource.loa der.FileResourceLoader で見つかりませんでした。

[デバッグ] リソース 'auth-pmd-rule-set-3.x-v1-5.xml' が resourceLoader org.codehaus.plexus.resource.loa der.JarResourceLoader で見つかりませんでした。

[デバッグ] リソース 'auth-pmd-rule-set-3.x-v1-5.xml' が resourceLoader org.codehaus.plexus.resource.loa der.ThreadContextClasspathResourceLoader で見つかりませんでした。

[DEBUG] URLResourceLoader: '' java.net.MalformedURLException: no protocol: auth-pmd-rule-set-3. x-v1-5.xml

私が望むものに到達するためのテクニックはありますか?すべての定義全体を繰り返さずに、PMD が使用するルールセットを再定義したいと考えています。

4

1 に答える 1

4

auth-pmd-rule-set-3.x-v1-5.xmlエラー メッセージに基づいて、pom でカスタム ルール セットへのフル パスを指定していないようです。ドキュメントに従って、

ルール セットは、クラスパス、ファイル システム、または URL に存在する場合があります。PMD ツールにバンドルされているルール セットの場合、ファイルの絶対パスを指定する必要はありません。プラグインによって解決されます。ただし、ルール セットがカスタム ルール セットの場合は、その絶対パスを指定する必要があります。

于 2011-02-05T03:17:51.450 に答える