使用Google Gson库时获取java.lang.NoClassDefFoundError

Raj*_*ath 5 eclipse classpath gson apache-httpcomponents apache-httpclient-4.x

Gson library用来将对象转换为对象,Json反之亦然。我已jars将该库的复制到一个新文件夹中lib,并将其添加到我的项目中的构建路径中Eclipse IDE

我有一个主类,在其中我将对象转换为Json,toJson()如下所示,并将其发送给servletusing Apache HttpClient's HttpPost()

Gson gson= new Gson();
String json = gson.toJson(names);
Run Code Online (Sandbox Code Playgroud)

但是在执行以下代码时,我servlet无法将转换JsonObjectusing fromJson()

Gson gson = new Gson();
Names names = gson.fromJson(s, Names.class);
Run Code Online (Sandbox Code Playgroud)

它引发以下异常:

java.lang.NoClassDefFoundError: com/google/gson/Gson
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我应该将拷贝jarsWebContent/WEB-INF/lib文件夹中而不是将新文件夹复制到lib吗?

Raj*_*ath 5

好的,我用这篇文章找到了答案。请阅读第一个答案中的评论。

我收到“java.lang.ClassNotFoundException: com.google.gson.Gson”错误,即使它是在我的类路径中定义的

我不得不外部放置jars到我的WebContent/WEB-INF/lib文件夹,并Eclipse会采取照顾build path自己。