问题描述
我目前正在开发一个需要 java 中的 json creator 类的项目。我正在尝试使用 json-simple 库,并且已经将 .jar 文件下载并复制到我的项目目录中。我正在使用
编译我的java文件javac -cp json-simple.jar report.java
但是,当我尝试运行它时,我收到此错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
at report.main(report.java:22)
Caused by: java.lang.classNotFoundException: org.json.simple.JSONObject
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:522)
... 1 more
我正在使用 ubuntu 并且不能使用像 eclipse 这样的 IDE,有人可以帮助我吗?提前致谢。
解决方法
您在编译代码时定义了类路径。 您在运行代码时是否也指定了类路径?
Java 不会将类路径上的类链接到您的代码中,它只是引用它,因此在运行时 jar 也必须在类路径上。
,好的伙计们,我已经找到了解决方案!对于最终遇到同样问题的任何人来说,解决方案很简单,编译程序后不要像其他java文件一样运行它,您需要给出命令-cp
来说出.jar文件的目录,在这个例子中它看起来像这样:
java -cp json-simple.jar: report.java