首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >IntelliJ IDEA升级后的NoClassDefFoundError

IntelliJ IDEA升级后的NoClassDefFoundError
EN

Stack Overflow用户
提问于 2017-03-04 04:02:35
回答 2查看 16.3K关注 0票数 25

最近,我使用IntelliJ IDEA和Gradle创建了一个新项目来进行依赖管理。在解析项目所需的所有依赖项并运行它之后,我得到以下错误:

代码语言:javascript
复制
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

这个问题只出现在来自已解析依赖项的类中(我也尝试了使用来自Guava的Cache的一个简单的main程序)。导致错误的类如下所示:

代码语言:javascript
复制
@SpringBootApplication
public class Application {
    public static void main(String... args) {
        SpringApplication.run(Application.class, args);
    }
}

所有字段都显示为正确的颜色(注释为黄色,没有任何内容是红色的),IntelliJ在External Libraries目录中包含所有已解析的依赖项。我使用绿色的"run“箭头来启动项目。

当从命令行使用gradle时,创建一个fat jar则一切正常。我已经尝试了“无效缓存/重启”,多次从存储库中拉出项目,清除gradle缓存,手动删除所有依赖项,尝试使用Community Edition,Ultimate Edition运行它,运行较旧的项目,这些项目在一段时间前已经有效(现在不起作用)。

这可能与将IntelliJ IDEA更新到2016.3.4,build 163.12024.16有关吗?

EN

回答 2

Stack Overflow用户

发布于 2018-02-02 13:24:00

将gradle版本设置为3.3已更正此问题。

票数 0
EN

Stack Overflow用户

发布于 2021-05-09 15:50:16

我也遇到了同样的问题,从一天前工作正常的spring boot应用程序中得到了下面的错误。我使用的是IntelliJ 2020.3,Gradle 6.5.1。我怀疑我的存储库可能已经损坏了。

代码语言:javascript
复制
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication

在我的IntelliJ上尝试了很多次之后,我尝试了bootRun (在树形图中,你可以在Tasks > application >bootRun下找到它),它起作用了。

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

https://stackoverflow.com/questions/42587487

复制
相关文章

相似问题

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