4

我正在使用Gson library將對象轉換爲Json,反之亦然。我已將該庫的jars複製到一個新文件夾lib中,並將其添加到我的Eclipse IDE中項目的構建路徑。使用Google Gson庫時獲取java.lang.NoClassDefFoundError

我有一個主要類,我使用下面顯示的toJson()將對象轉換爲Json,並使用Apache HttpClient's HttpPost()將它發送到servlet

Gson gson= new Gson(); 
String json = gson.toJson(names); 

但在servlet我不能給Json轉換爲Object使用fromJson()當我執行下面的代碼。

Gson gson = new Gson(); 
Names names = gson.fromJson(s, Names.class); 

它拋出以下異常:

java.lang.NoClassDefFoundError: com/google/gson/Gson 

任何想法,爲什麼會是這樣嗎?我是否應該將jars複製到WebContent/WEB-INF/lib文件夾中而不是名爲lib的新文件夾?

+0

[請參閱此處的鏈接](http://stackoverflow.com/questions/3080454/android-eclipse-error-gson-cannot-be-resolved-to-a-type)它與您的錯誤類型相關 – gks

+0

你添加'gson.jar'到你的構建路徑(classpath)? –

+0

我添加了'gson-2.2.2.jar'。令我困惑的是'Gson'在一個類中被解析,但在另一個類(Servlet)中不被解析。 – Rajath

回答

3

好吧,我想出了使用這篇文章的答案。請閱讀第一個答案中的評論。

I am getting "java.lang.ClassNotFoundException: com.google.gson.Gson" error even though it is defined in my classpath

我不得不把外部jars到我WebContent/WEB-INF/lib文件夾,並Eclipse將採取build path本身的照顧。

+0

它很好,你找到解決方案,但只是FYI'java.lang.NoClassDefFoundError'和'java.lang.ClassNotFoundException'是不同的東西。 –

+0

當我使用相同的代碼執行不同的動態Web項目時,我得到了兩種異常類型。但是,謝謝!將注意到。 – Rajath

相關問題