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

我正在尝试使用gson-1.6.jar解析一些我正在使用gson-1.6.jar的JSON对象字符串。我将它放在与其他.jars相同的位置,并将它添加到我在eclipse中的buildpath中。

其他库在我添加它们时运行正常,我可以毫无问题地使用它们,但是当我尝试创建JSON对象时,我得到了名义错误。 我已经通过这个错误查看了其他问题,但我找不到一个不涉及我尝试过的东西的解决方案或者一些不相关的东西。

我使用以下方法将其导入顶部附近:

import com.google.gson.Gson; 

然后在静态函数中使用它,如下所示:

 Gson g = new Gson(); 

这是我的eclipse生成的类路径文件[Path]替换实际路径:

                     

以及我的构建路径窗口: 构建路径屏幕

我此时有点失落。 我已经尝试了谷歌和post基本上只是说添加到您的构建路径。 有人有什么想法吗?

编辑:更多信息

引用com.google.gson.GSON的代码由jsp用作bean。 从jsp调用此函数,一旦执行该函数就会发生错误。 该函数的第一行是:

 Gson g = new Gson(); 

它似乎编译和部署正常,但当它执行时,我收到错误消息。

谢谢

对于JSP / Servlet Web应用程序,您只需要将第三方JAR文件放在/WEB-INF/lib文件夹中。 如果项目是动态Web项目 ,那么Eclipse将自动关注设置构建路径。 您不需要使用Eclipse构建路径。 别忘了全部撤消。

我遇到了同样的问题并尝试了上述解决方案,但没有一个能为我工作。 然后我尝试了以下步骤,问题解决了:

  • 转到项目属性。
  • 转到Java Build Path选项。
  • 然后将*.jar文件添加为外部jar。
  • 然后转到订单和导出选项并选择项目的库和jar。
  • 保存当前更改并清理项目并再次运行项目。

单击Deployment Assembly (在您显示为活动的Java Build Path上方),并确保在那里看到json-lib-2.4-jdk15.jar。

通常,您应该将其添加到构建路径并从项目中导出它。 一旦导出,您将看到WTP警告它不是部署的一部分。 选择“ Quick Fix选项并将其添加到部署路径。

我只是遇到同样的问题……

要解决此问题(至少在我的情况下),请确保已在包类路径中包含lib文件夹:

 Manifest-Version: 1.0 ... Bundle-ClassPath: lib/gson-1.6.jar, . ... 

或者如果你想在文件夹中包含所有jar:

 Bundle-ClassPath: lib/ 

您仍然需要将jar文件放在java构建路径上,如上所示。 然后您导入的jar应出现在“Referenced Libraries”文件夹中

好吧,通过在我的APACHE / TOMCAT / lib文件夹中添加jar来解决问题! 。

在Eclipse环境中开发KNIME Node /插件时遇到了同样的问题。 解决方案不仅是将gson.jar作为外部JAR添加到构建路径,还需要转到plugin.xml ,然后是Dependencies选项卡,并将com.google.gson添加为必需的插件。

在“标记”选项卡中执行快速修复。

图像源metamug.com

参考: https : //metamug.com/blog/eclipse-gson-class-not-found