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

时间:2012-10-09 03:47:45

标签: eclipse classpath gson apache-httpclient-4.x apache-httpcomponents

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

我有一个主要类,我使用下面显示的toJson()将对象转换为Json,然后使用servlet将其发送到Apache HttpClient's HttpPost()

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

但在servlet中,当我执行以下代码时,我无法使用JsonObject转换为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的新文件夹吗?

1 个答案:

答案 0 :(得分:4)

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

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本身。