繁体   English   中英

java.lang.NoClassDefFoundError:com / google / common / base / Joiner

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM