在过去一小时左右的时间里,我一直在摸不着头脑。我似乎无法弄清楚如何通过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
尝试更改库的范围。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>provided</scope>
</dependency>