2011-05-06 437 views
0

我试图将PMD插件安装到我的IntelliJ IDE中。我遵循the instructions但试图运行pmd检查时,我收到以下异常。从看起来“。”正在被解析为一个/为类加载器产生一个错误的文件名。在IntelliJ IDEA中使用PMD的问题

含义路径:即使设置

-cp %CLASSPATH%; C:/Development/IDE/Utils/PMDPlugin/lib/pmd-4.2.5.jar; C:\Development\IDE\Utils\PMDPlugin\lib\asm-3.1.jar; C:\Development\IDE\Utils\PMDPlugin\lib\jaxen-1.1.1.jar net.sourceforge.pmd.PMD "$FilePath$" ideaj unusedcode,imports "$Sourcepath$" $FileClass$.method $FileName$ 

从某些原因,它仍然在寻找C:/开发/ IDE/utils的/ PMDPlugin/lib目录/ PMD-4/2/5 /罐

这里是个例外:

java.lang.NoClassDefFoundError: C:/Development/IDE/Utils/PMDPlugin/lib/pmd-4/2/5/jar; 
Caused by: java.lang.ClassNotFoundException: C:.Development.IDE.Utils.PMDPlugin.lib.pmd-4.2.5.jar; 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
Could not find the main class: C:/Development/IDE/Utils/PMDPlugin/lib/pmd-4.2.5.jar;. Program will exit. 
Exception in thread "main" 

我使用的Intelli IDEA 10.0.3 构建#IC 103.288建于2011年4月 JDK 1.6.0_21

你有什么建议吗?谢谢

回答

2

看起来你的CLASSPATH条目之间有空格。那不会;删除它们。

更新:

我下载了PMD并设法使它运行。我按照你发布的指示,用我自己的方式替换了PMD的路径。我建议不要使用有空格的路径。

有一件事是残酷的是%JAVA_HOME%,所以我用硬连接路径替换它到我的Java/bin。一旦我做到了,一切都很好。

我想问为什么你认为PMD比内置于IntelliJ中的检查工具更好?我宁愿选择复选框来设置规则,而不必执行PMD所要求的所有废话。

一旦我满意,我可以使它工作,我删除它。我宁愿运行督察。