java.lang.ClassNotFoundException:for org.json.simple.JSONObject

时间:2017-05-18 16:27:00

标签: java eclipse

我编写了一段引用Eclipse中JSON库的代码。

尝试导出到Jar文件时,我选择导出Java源文件和资源选项。

我的代码依赖于JSONObject库。

现在我打包了所有文件,当我在linux机器上运行jar文件时,我得到了ERROR ::

# java -cp SendCommand.jar ExecuteShellComand
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
    at ExecuteShellComand.main(ExecuteShellComand.java:19)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

解压缩我的jar文件产生。

# tree
.
├── commons-io-2.5.jar
├── ExecuteShellComand.class
├── ExecuteShellComand.java
├── json-simple-1.1.jar
├── SendCommand.jar
└── META-INF
    └── MANIFEST.MF

1 directory, 6 files

虽然存在所有必需的文件,但我仍然得到错误。我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

您需要将void computeDeptAvg(double gpa[][DEPTs] , double deptAvg[]) { for(int d = 0; d < DEPTs; d++) { double sum = 0.0; for(int s = 0; s < STDTs; s++) { sum += gpa[s][d]; } deptAvg[d] = sum / STDTs; } } json-simple-1.1.jar区分开来。

而是将SendCommand.jar和其他相关JAR复制到当前目录中,以便确认执行以下修改后的命令是否有效:

json-simple-1.1.jar

答案 1 :(得分:0)

类路径引用:右键单击Eclipse中的项目 - &gt; Buildpath - &gt;配置构建路径 - &gt; Java构建路径(左窗格) - &gt;图书馆(标签) - &gt;添加外部罐子 - &gt;选择您的罐子并选择确定。

部署程序集:右键单击eclipse中的WAR-&gt; Buildpath - &gt;配置构建路径 - &gt;部署组件(左窗格) - &gt;添加 - &gt;外部文件系统 - &gt;添加 - &gt;选择你的罐子 - &gt;添加 - &gt;完成。