我有以下C:\Program Files\Java\jdk1.5.0\com\TestObjectToJson.java
文件:
import com.google.gson.*;
public class TestObjectToJson{
String state = "eBinn3+GQ0lnOjw46K1vsweIqsxAVKSV/QLlKRt6ClqGyBvOUMOHffa2/TogpKE6Qz7gsd7KwHz06XjJar9sjwvoZLizy3AQacDCUyax8uoN79388QTw8LACcjAL00/sZ6AFp45IIuYZ2UXIUovZvjSN55yQc8ev7MrqFLzjiIuuCMLnK8bZwjO9viiji8C+Apnr034UoMklPprTGsbxpvOT97mJCBKXnQ+mBgH3x/2MLA3cfwPQMXZFyA1Hz5597Lx50G0AabMoqeLfddSYgxgbJULLtF2QYAIyG9qijwSktklW5AMY/vSi0FkRU7abayI3v++VYB7Hhc/Zhk3o3V/rdhpc9a9IF4qY28OqQNbFXo9XDpoz15FfKmJrqLMZmJfzrpzZmf5Wze2b6qpMUGtgwRN6WW+o2DCQRmA4EQ5g3zKhV+aTADbulnuVTOxUKYM4+uyPgwCdwwpyvfNk3c9gFeJPZ8ARBcuipbgH+8Om3e1wVz7qm5TxiQTN6tShPMxBFK8MNjqtjKmDKe1qOEttRqnLuRAsFtrASGQ/IO4XdM3574IN2w79cVO6jcpf1Tt2Aw==";
public static void main(String[] args) {
TestObjectToJson obj = new TestObjectToJson();
Gson gson = new Gson();
//convert java object to JSON format
String json = gson.toJson(obj);
System.out.println(json);
}
}
我已经下载了所需的Gson证书(gson-2.2.4.jar, gson-2.2.4-javadoc.jar, gson-2.2.4-sources.jar)
并在
C:\ Program Files \ Java \ jdk1.5.0 \ com:
我的CLASSPATH设置为:C:\Program Files\Java\jdk1.5.0\com\gson-2.2.4.jar
我在C:\Program Files\Java\jdk1.5.0\com\TestObjectToJson.java
的程序使用上面的CLASSPATH进行编译。但是当我尝试跑步时,它会给我:NoClassDefFoundError
如果我将CLASSPATH更改为:C:\Program Files\Java\jdk1.5.0\com\
然后我无法编译程序:它给了我:package com.google.gson does not exist.
我在这里做错了什么?
以下是来自cmd的复制粘贴:
C:\Program Files\Java>cd C:\Program Files\Java\jdk1.5.0\com
C:\Program Files\Java\jdk1.5.0\com>set CLASSPATH=C:\Program Files\Java\jdk1.5.0\
com\gson-2.2.4.jar
C:\Program Files\Java\jdk1.5.0\com>javac -classpath "C:\Program Files\Java\jdk1.5.0
\com\gson-2.2.4.jar"
TestObjectToJson.java
C:\Program Files\Java\jdk1.5.0\com>java -classpath "C:\Program Files\Java\jdk1.5.0
\com\gson-2.2.4.jar" TestObjectToJson
线程“main”中的异常java.lang.NoClassDefFoundError:TestObjectToJson
C:\Program Files\Java\jdk1.5.0\com>echo %CLASSPATH%
C:\Program Files\Java\jdk1.5.0\com\gson-2.2.4.jar
答案 0 :(得分:0)
您还必须在运行时指定类路径。
java -classpath "C:\Program Files\Java\jdk1.5.0\com\gson-2.2.4.jar" -jar "C:\Program Files\Java\jdk1.5.0\com\TestObjectToJson.java"
答案 1 :(得分:0)
首先,您不必在Program File文件夹中编写代码,这在更新Java时可能会造成麻烦。
要指定类路径,您需要编写如下内容:
java -classpath“.; c:\ mylib *”MyApp
所以在你的情况下:
javac - classpath“.; com \ gson-2.2.4.jar”com \ TestObjectToJson.java
java - classpath“.; com \ gson-2.2.4.jar”com.TestObjectToJson
您需要位于C:\ Program Files \ Java \ jdk1.5.0 \才能运行此命令。
但请记住,不建议使用此位置。
要获取有关java中claspath的更多信息: PATH and CLASSPATH
最后,恕我直言,使用Eclipse或Netbeans使依赖性问题变得更加容易。
更新后修改:
C:\ Program Files \ Java> cd C:\ Program Files \ Java \ jdk1.5.0
C:\ Program Files \ Java \ jdk1.5.0> javac -classpath“C:\ Program Files \ Java \ jdk1.5.0 \ com \ gson-2.2.4.jar”com \ TestObjectToJson.java
C:\ Program Files \ Java \ jdk1.5.0> java -classpath“C:\ Program Files \ Java \ jdk1.5 .0 \ com \ gson-2.2.4.jar”com.TestObjectToJson