【发布时间】:2015-08-23 16:43:50
【问题描述】:
我已经安装了 Ant 和 Ivy,这样我就可以使用 Ivy 下载的 JAR 来运行 PMD。尝试使用 FindBugs 进行相同的操作,将 findbugs.home Ant 属性设置为 ivy-jars/findbugs,即 Ivy JAR 所在的位置。我最初得到的错误是它在${findbugs.home}/lib 目录下找不到 JAR 文件。我通过更改 Ivy 将 JAR 文件下载到 ivy-jars/findbugs/lib 来解决这个问题。然而,这引发了新的错误:
Executing findbugs FindBugsTask from ant task
Running FindBugs...
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/bcel/classfile/ClassFormatException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.bcel.classfile.ClassFormatException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
【问题讨论】: