IntelliJ IDEA升级后的NoClassDefFoundError
问题描述:
最近我创建了一个使用IntelliJ IDEA和Gradle进行依赖管理的新项目。解决该项目所需的所有依赖关系,并运行它,我得到以下错误后:IntelliJ IDEA升级后的NoClassDefFoundError
java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.some.fancy.name.Application.main(Application.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
从解析的依赖的类只发生问题(我想它也使用Cache
番石榴简单main
程序)。导致错误的类是:
@SpringBootApplication
public class Application {
public static void main(String... args) {
SpringApplication.run(Application.class, args);
}
}
所有字段显示正确的颜色(注释是黄色的,没有什么是红色),拥有的IntelliJ中的所有External Libraries
目录解析的依赖。我正在使用绿色的“运行”箭头来启动项目。
从命令行使用gradle时,创建一个胖jar然后一切正常。我已经尝试了“Invalidate Caches/Restart”,从存储库中多次提取了项目,清除了gradle缓存,手动删除了所有的依赖关系,试图使用Community Edition,Ultimate Edition运行它,运行早已运行的旧项目前段时间(现在不工作)。
它可能以某种方式与更新IntelliJ IDEA到2016.3.4,建立163.12024.16?
答
它在IntelliJ IDEA的一个已知的问题是具体到摇篮3.4和更高版本:
- IDEA-167412摇篮3.4-RC-1的变化编译依赖于提供
- original bug report in the Gradle project with more details
- comment from the responsible developer关于“创建Module per source set“选项以及Gradle集成如何在IntelliJ IDEA中工作
它已经是f固定在IntelliJ IDEA 2017.1和2016.3.6。
如果您不能或不想更新IntelliJ IDEA,也可以使用Gradle 3.3或更早版本作为解决方法。
答
将gradle版本设置为3.3更正了此问题。
只是为了防止其他人遇到同样的问题。这并不是Gradle 3.4特有的,因为问题仍然存在于3.5中。该修复程序虽然(更新IntelliJ)工作,所以解决方案站立。 –
我面临同样的问题。在我的情况下,我可以在IntelliJ/Maven编译时运行它,并通过终端(java -jar myapp.jar)运行它。但是当我尝试从IntelliJ菜单运行它时,会发生此错误。另外,如果我用Eclipse运行它,一切运行良好。很奇怪! IDEA非常不稳定!这是我使用它2年多后的结论,不幸的是。 –
同样的问题再次与2017.3 :( –