我正在尝试在 Sonar 中集成自定义 PMD 任务,我目前设法与 Sonar PMD 插件一起使用。
我当前的问题是使用命令行运行 sonar ant 任务。
在我的 Eclipse 工作区中,我在 Eclipse 中添加了额外的类路径条目以供 Ant 运行,它工作得很好。但是当我在命令行中运行它时,无论我如何为 ant 传递罐子,它似乎都没有在 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)