私はカスタムPMDタスクをSonarに統合しようとしています。これは、現在、SonarPMDプラグインと一緒に機能することができました。
私の現在の問題は、コマンドラインでソナーantタスクを実行することです。
私のEclipseワークスペースで、Antを実行するためにEclipseにクラスパスエントリを追加しました。これは問題なく機能します。しかし、コマンドラインで実行すると、antのjarをどのように渡しても、ClassLoaderで使用されていないように見えます。
継続的インテグレーションサーバーでタスクを実行できなくなったら、これは私のプロジェクトにとって大きな問題です。
私は現在、プロパティsonar.librariesを使用して、必要なすべてのクラスを含むjarを渡します。
私が得ているエラーは次のとおりです。
build.xml:121: java.lang.NoClassDefFoundError: net/sourceforge/pmd/AbstractJavaRule
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)