2016-08-04 27 views
0

Ich versuche, ein JSON-Objekt in Java zu erstellen und zu kompilieren.Ausnahme im Thread "Haupt" java.lang.NoClassDefFoundError: org/json/simple/JSONObject - Laufzeitfehler der Java-Befehlszeile

import org.json.simple.JSONObject; 
class JsonEncodeDemo 
{ 

    public static void main(String[] args){ 

    JSONObject obj = new JSONObject(); 

    obj.put("name", "foo"); 
    obj.put("num", new Integer(100)); 
    obj.put("balance", new Double(1000.21)); 
    obj.put("is_vip", new Boolean(true)); 

    System.out.print(obj); 
    } 
} 

ich habe json-simple-1.1.1.jar und seine Gegenwart in meinem aktuellen Ordner. ich kompilieren mit

javac -cp json-simple-1.1.1.jar JsonEncodeDemo.java. 

Es kompiliert in Ordnung. Aber wenn ich versuche, es zu laufen -

java JsonEncodeDemo 

Es gibt mir die folgende -

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject 
    at JsonEncodeDemo.main(JsonEncodeDemo.java:12) 
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject 
    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) 

Ich habe setzen auch das Glas in meinem lib und bin Ordner und versuchte Kompilieren mit -

javac -cp '.\bin\*;.\lib\*;json-simple-1.1.1.jar' JsonEncodeDemo.java 

und

läuft
java JsonEncodeDemo 

I t funktioniert immer noch nicht. Kann mir bitte jemand hier helfen?

+0

NoClassDefFoundError bedeutet, dass die Klasse oder eines ihrer Abhängigkeiten ist nicht vorhanden. Schauen Sie sich an, welche Abhängigkeiten es hat –

Antwort

0

Unter der Annahme, json-simple-1.1.1.jar ist in der gleichen DIR wie JsonEncodeDemo:

kompilieren

javac -cp json-simple-1.1.1.jar JsonEncodeDemo.java 

Lauf

java -cp json-simple-1.1.1.jar: JsonEncodeDemo