質問
私は次のようにしてみてください:
- 私はすべてのMaven2プロジェクトに対して定義された標準POMを持っています。
- そのPOMには、使用するツール、および使用するルールセットが含まれています。
- 私はこれらのルールセットをそれぞれ名前に名前を付けるプロパティを定義しました。
これを知っていることを知っています。私は新しいプロジェクトPOMを定義し、私の標準POMの親として使用し、そこで定義されたルールセットを使用することができます。私は、ルールセットを別の名前で定義するプロパティの定義を上書きすることもできます。
auth-pmd-rule-set-3.x-v1-5.xml
(Maven2によって選択されている)ではなく、pmd-rule-set-3.x-v1-5.xml
として定義され、新しいプロジェクトでファイル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。
[デバッグ] URLResourceLoader: 'auth-pmd-rule-set-3.x-v1-5.xml' at ''を探すときの例外 java.net.malFormedUrlexception:いいえプロトコル:auth-pmd-rule-set-3.x-v1-5.xml
私が欲しいものに到達するために利用可能な技術はありますか?私はすべての定義を繰り返すことなく使用する必要があるルールセットPMDを再定義したいです。
解決
エラーメッセージに基づいて、POMのカスタムルールセットauth-pmd-rule-set-3.x-v1-5.xml
へのフルパスを指定していないように見えます。 docs 、
ルールセットはに存在する可能性があります クラスパス、ファイルシステム、またはURLで。ために にバンドルされているルールセット PMDツール、あなたは特定する必要はありません ファイルの絶対パス。そうなる プラグインによって解決されます。しかし、 ルールセットはカスタムルールセットです その絶対パスを指定する必要があります。