Java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream Vaadin+Gradle+IntelliJ

48
我之前一直使用Vaadin + Gradle + IntelliJ,但昨晚我加入了SLF4J(logback)日志记录到我的应用程序中后出现了问题。自那时以来,由于org/apache/tools/ant/util/ReaderInputStreamclassDefFoundError错误,我无法再进行项目构建。
我无法将其与应用程序中任何包含jar文件的传递依赖项链接起来,即使我删除SLF4J库也不能构建我的应用程序,所以我想知道发生了什么变化?
我正在使用vaadin gradle插件0.9.5gradle 2.2.1。是否有人遇到过这个问题?我曾阅读另一篇帖子,其中有人遇到了同样的问题,但他提出的解决方案对我的应用程序无效。他建议注释掉vaadin.gradle中的某些行,而我的应用程序中没有这些行。

1
你进行了干净的构建吗?有时候我们会留下编译过的类文件... - André Schild
1
@AndréSchild,我已经尝试了对应用程序和构件进行了清理构建,但是没有任何效果。 - kasongoyo
2
最终我重新启动了电脑,现在它可以工作了......!我想IntelliJ与Gradle或其他东西不同步了......!感谢@AndréSchild向我展示了一些线索。 - kasongoyo
5个回答

96
尝试:
文件>无效缓存/重新启动...

3
自从我切换到IDEA以后,我不得不这样做很多次,有点悲哀。 - Chris Smith
1
太好了。我在这上面浪费了几个小时! - Lawrence Tierney
我只需要简单地重新启动IDE就可以了。在清除缓存之前,可以尝试这样做。 - Thunderforge

10

我删除了.idea文件夹,这对我起作用了。


9

File > Invalidate Caches / Restart...git clean -dfx 都没有用。以下是我必须要做的:

  1. 关闭 IntelliJ
  2. 重要提示:确保你已经提交了所有你关心的内容(你即将清除你的工作副本)
  3. 运行 git clean -dfx 来清理你的工作副本
  4. 运行 IntelliJ
  5. 选择 Import Project
  6. 导航到包含你项目的目录
  7. 然后选择 Import project from external model 并选择 Gradle
  8. 点击下一步
  9. 确认下一页的设置正确,然后点击完成
  10. 构建现在应该能够正常工作。

1
是的,基本上从现有源重新导入项目对我起作用了。我不必使缓存无效或运行 git clean - heez
真是一团糟!如果我这样做,我将不得不重新创建各种运行配置。 - Gordolio

6

文件 > 无效缓存 / 重启...选项对我没有用,但是

sudo git clean -dfx很好用。


2
该命令会删除所有未被 Git 跟踪的内容,包括 IntelliJ 的所有状态。有时 IntelliJ 会出现一些问题,需要重置。 - Jon Bates

2

我尝试了删除.idea文件夹和使缓存失效,这对我很有效。

  1. 在命令行中执行rm -r .idea/
  2. 在Intellij界面中选择文件>使缓存失效/重启...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接