我正在尝试使用以下命令运行程序:
java Honey -cp ../../jnetpcap-1.3.0/jnetpcap.jar
并且收到标题错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jnetpcap/Pcap
at Honey.main(Honey.java:18)
Caused by: java.lang.ClassNotFoundException: org.jnetpcap.Pcap
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)
... 1 more
如果有人能向我指出我可能做错了什么,我将不胜感激。
最佳答案
-cp
就像所有 JVM 运行选项一样,只有将其放在要运行的类的名称或 -jar
之前才有效。选项(如果您使用它来运行显示的主类)。类名或-jar
之后的任何标记名称作为参数传递给您的程序。一旦你修复了这个问题,你会发现你需要你的类路径包含 jnetpcap jar 和你的类,所以你需要类似的东西
jar -cp .:path/to/jnetpcap.jar Honey
# on Windows use ; instead of :
关于java - 类路径出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982024/