我正在尝试解析我使用 gson-1.6.jar 获得的一些 JSON 对象字符串,我已将其放置在与其他 .jars 相同的位置,并将其添加到我在 eclipse 中的构建路径中。
当我添加其他库时它们工作正常,我可以毫无问题地使用它们,但是当我尝试创建 JSON 对象时,我得到了名义上的错误。我已经查看了其他带有此错误的问题,但找不到不涉及我尝试过的事情或不相关的事情的解决方案。
我使用以下方法在顶部附近导入它:
import com.google.gson.Gson;
然后像这样在静态函数中使用它:
Gson g = new Gson();
这是我的 eclipse 生成的类路径文件 [Path] 代替实际路径:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre6">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="[Path]/jabbabase-ws-jwsdp-client-2.4.7.jar"/>
<classpathentry kind="lib" path="[Path]/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="[Path]/gson-1.6.jar"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
以及我的构建路径窗口:
此时我有点迷茫。我试过谷歌,帖子基本上只是说要添加到你的构建路径。有人有什么想法吗?
编辑:更多信息
引用 com.google.gson.GSON 的代码被 jsp 用作 bean。这个函数是从jsp调用的,一执行就报错。函数中的第一行是:
Gson g = new Gson();
编译部署好像没问题,但是执行的时候报错
谢谢
如果是 JSP/Servlet web 应用程序,您只需将第 3 方 JAR 文件放入
/WEB-INF/lib
文件夹中。如果项目是 Dynamic Web Project,那么 Eclipse 也会自动注意正确设置构建路径。您不需要摆弄 Eclipse 构建路径。不要忘记全部撤消。
转到项目属性。
*.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”文件夹中
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
plugin.xml
,然后是“依赖项”选项卡并将 com.google.gson 添加为必需的插件。
Project -> Properties -> Deployment Assembly -> Add... -> Java Build Path Entries -> Next -> 选择 JAR 文件并单击 Finish。应用并关闭。
这对我有帮助。