首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.NoClassDefFoundError: com/google/common/base/Joiner

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

Stack Overflow用户
提问于 2017-12-13 09:52:15
回答 1查看 2.2K关注 0票数 0

我在运行包jar时遇到了这个错误:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: com/google/common/base/Joiner

我只是简单地调用: java -jar xxx.jar

我已经在我的pom.xml中添加了依赖项:

代码语言:javascript
复制
<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,这样一切看起来都是正确的。

有没有人能帮我弄清楚为什么会出现这个错误?

EN

回答 1

Stack Overflow用户

发布于 2017-12-13 10:58:31

您可以将芭乐着色到您的jar中,但这将导致更大的jar文件。但这样它就会100%地包含在你的程序中。有关将maven依赖项着色到jar文件中的更多信息,请参阅官方maven文档:http://maven.apache.org/plugins/maven-shade-plugin/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47784352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档