【问题标题】:Gson Maven dependency not loading correctlyGson Maven 依赖项未正确加载
【发布时间】:2019-02-24 07:02:17
【问题描述】:

过去一个小时左右,我一直在为这个问题摸不着头脑。我似乎无法弄清楚如何通过 Maven 的依赖管理器使用 Gson。我在网上看到的一切似乎都表明我需要在我的pom.xml 文件中添加几行。所以到目前为止我有这个:

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

它似乎没有做任何事情。构建项目不会导致任何构建失败,但运行程序会捕获异常。输出如下:

$ java -cp target/Animation-Game-1.0-SNAPSHOT.jar core.App
Hello World!
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder
    at core.sprite.Sprite.toString(Sprite.java:136)
    at core.App.main(App.java:9)
Caused by: java.lang.ClassNotFoundException: com.google.gson.GsonBuilder
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 2 more

【问题讨论】:

    标签: java gson maven-2


    【解决方案1】:

    尝试更改库的范围。

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
      <scope>provided</scope>
    </dependency>
    

    【讨论】:

    • 遗憾的是没有改变任何东西。我不确定是什么原因造成的..
    • 你刷新你的依赖了吗?右键单击您的项目,然后单击 Maven > Update Snapshots。
    • 我相信我做到了。我没有使用 IDE,所以我不确定要单击什么来执行此操作。但是我确实运行了一些命令(我相信这样做)没有效果。我运行的命令是:mvn dependency:purge-local-repository,然后是mvn dependency:purge-local-repository clean install
    • 我建议使用 IDE。你是如何执行你的程序的?您可能在没有该库的情况下执行它。
    猜你喜欢
    • 2020-03-01
    • 2013-11-18
    • 2021-12-05
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2013-01-24
    相关资源
    最近更新 更多