相关疑难解决方法(0)

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

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

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

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

import com.google.gson.Gson;
Run Code Online (Sandbox Code Playgroud)

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

Gson g = new Gson();
Run Code Online (Sandbox Code Playgroud)

这是我的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>
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:更多信息

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

Gson g = new Gson();
Run Code Online (Sandbox Code Playgroud)

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

谢谢

java eclipse jar classpath

28
推荐指数
3
解决办法
11万
查看次数

Gson 依赖 - 哪个存储库?

我对Maven的了解一定有很大的空白,因为我经常遇到这个问题......

我想在我的项目中使用 Gson 库(https://code.google.com/p/google-gson/)。根据项目的主页,我在 pom.xml 中添加了以下依赖项:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

那很好。但是,Eclipse 找不到依赖项。这有点道理。它会去哪里寻找呢?哪个存储库?我在 pom.xml 中声明了许多存储库,但也许它们都不包含 Gson。

这确实是一个普遍的问题。我想说到目前为止我见过的大多数项目都没有说明工件存储在哪个存储库中。它们只提供依赖项的 XML 元素。我在这里缺少什么?主要 Maven 存储库是否包含任何人发布过的所有工件?请帮助我理解为什么这么多项目没有说明他们的工件存储在哪个存储库中。

如果您还可以告诉我在哪里可以找到 Gson 神器 - 我将不胜感激。

maven gson

6
推荐指数
1
解决办法
3万
查看次数

获取 java.lang.ClassNotFoundException: com.google.gson.Gson for maven 项目

我是 maven 的新手。我正在使用 apache-maven-3.2.2 来构建我的项目。它的简单项目将从客户端接收 json 数据,在服务器端它将将此 json 数据转换为其类似的 java 类。用于转换将 json 格式转换为 java 格式,我们使用的是 google 的 Gson 库。没有 maven,我的项目运行正常。但是当我将其转换为 maven 时,出现以下错误:

   Caused by: java.lang.NoClassDefFoundError: com/google/gson/Gson
   at com.edfx.tsn.web.controller.DataController.transferData(DataController.java:51) [classes:]
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_17]
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_17]
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_17]
   at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_17]
   at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]
   at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]
   at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.7-jbossorg-2.jar:]
   at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
   ... 22 more
Run Code Online (Sandbox Code Playgroud)

从错误中很明显它无法 Gson jar。

现在下面是我的 pom.xml 文件

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>TestJSON</groupId>
   <artifactId>TestJSON</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>TestJSON</name>
  <build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source> …
Run Code Online (Sandbox Code Playgroud)

java json maven gson

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

gson ×2

java ×2

maven ×2

classpath ×1

eclipse ×1

jar ×1

json ×1