首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带类路径的NoClassDefFoundError

带类路径的NoClassDefFoundError
EN

Stack Overflow用户
提问于 2015-04-30 21:25:40
回答 2查看 2.7K关注 0票数 0

我试图使用以下命令运行一个程序:

代码语言:javascript
运行
AI代码解释
复制
java Honey -cp ../../jnetpcap-1.3.0/jnetpcap.jar

我得到了标题错误:

代码语言:javascript
运行
AI代码解释
复制
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

如果有人能向我指出我可能做错了什么,我将非常感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-30 22:34:37

您必须显式地告诉JVM本地库在哪里。

试试像这样的东西

sudo ./ -cp 1.8.0_45/bin/java -Djava.library.path=/home/leoks/Downloads/jnetpcap-1.3.0 -cp .:jnetpcap.jar蜜

我不知道“亲爱的”是什么样子,所以我用了这个

http://jnetpcap.com/?q=examples/classic

对于这个特定的例子,由于它需要一些特殊的权限,所以我使用sudo来运行它。

对于这个例子,我已经从这里下载了ubuntu 64位的jnetpcap。

64.tgz/download

我使用了Oracle 1.8.0_45和Ubuntu14.04.2LTS

票数 1
EN

Stack Overflow用户

发布于 2015-04-30 22:31:13

-cp和所有JVM运行选项一样,只有将其放在要运行的类的名称之前,或者如果您使用它运行已显示的主类时,-jar选项才能工作。类名或-jar名称之后的任何标记都作为参数传递给程序。修复后,您将发现需要类路径同时包含jnetpcap和类(Es),因此需要类似的内容

代码语言:javascript
运行
AI代码解释
复制
 jar -cp .:path/to/jnetpcap.jar Honey 
 # on Windows use ; instead of :
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29982024

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文