NoClassDefFoundError:javax/json/json无maven或IDE
我正在尝试一个简单的json java程序(没有maven或IDE)。 这是我的java文件:NoClassDefFoundError:javax/json/json无maven或IDE,java,json,javax.json,Java,Json,Javax.json,我正在尝试一个简单的json java程序(没有maven或IDE)。 这是我的java文件: import javax.json.*; import javax.json.Json; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; import javax.json.JsonWriter; class JsonTest { public static void main(String[] args){
import javax.json.*;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonWriter;
class JsonTest {
public static void main(String[] args){
JsonObject obj = Json.createObjectBuilder()
.add("name", "foo")
.add("num", new Integer(100))
.add("balance", new Double(1000.21))
.add("is_vip", new Boolean(true)).build();
System.out.print(obj);
}
}
在该文件的同一目录中,我有jar文件:
javax.json-1.0.jar
我在编译时没有发现任何错误:
javac -classpath ./javax.json-1.0.jar JsonTest.java
但是当我运行程序时,我得到了错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/json/Json
at JsonTest.main(JsonTest.java:10)
Caused by: java.lang.ClassNotFoundException: javax.json.Json
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
为什么在编译过程中没有错误的时候我会出现这个错误。我已经用这个错误搜索了其他问题,但与它们不同的是,我没有使用任何IDE或maven。如果您有任何帮助,我们将不胜感激。您不是在类路径上使用JSON JAR文件运行它 试试这个:
java -classpath .:./javax.json-1.0.jar JsonTest
将
:
更改为代码>在Windows上…谢谢你的帮助!为什么我在运行时也必须包含jar文件呢?答案:1)因为文档这么说。2) 因为javac
编译器没有将依赖JAR或其路径名嵌入到“.class”文件中。3) 因为Java没有C#的应用程序清单文件的直接等价物。请在类路径中添加json jar