![](/img/trans.png)
[英]Maven | java.lang.NoClassDefFoundError: com/google/common/base/Strings
[英]java.lang.NoClassDefFoundError: com/google/common/base/Joiner
运行程序包jar时遇到此错误:
java.lang.NoClassDefFoundError: com/google/common/base/Joiner
我只是简单地调用:java -jar xxx.jar
我已经在我的pom.xml中添加了依赖项:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
<scope>compile</scope>
</dependency>
我正在使用IntelliJ编辑器。 我对使用Joiner类的函数进行了单元测试。 它可以在IntelliJ中成功运行。
我将光标放在Joiner上,并使用“ command + B”搜索Joiner类的声明。 它将打开“反编译的源代码”页面,并在标题上将路径显示为:guava-18.0.jar / com / goog / common / base / Joiner因此,一切看起来都正确。
谁能帮我找出为什么会出现此错误?
您可以将番石榴放在罐子里,但这会导致更大的罐子文件。 但是那样一来,它将100%包含在您的程序中。 在官方Maven文档中了解有关将Maven依赖阴影添加到jar文件中的更多信息: http ://maven.apache.org/plugins/maven-shade-plugin/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.