【问题标题】:Sudden java.lang.NoClassDefFoundError in IntelliJ 2016.3.4 [duplicate]IntelliJ 2016.3.4 中突然出现 java.lang.NoClassDefFoundError [重复]
【发布时间】:2017-03-07 10:22:54
【问题描述】:

昨天我的应用程序运行良好,但是当我今天尝试通过 IntelliJ 启动它时,我得到了这个错误:

Connected to the target VM, address: '127.0.0.1:41617', transport: 'socket'
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    at com.company.app.Application.main(Application.java:18)
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)
    ... 1 more
Disconnected from the target VM, address: '127.0.0.1:41617', transport: 'socket'

Process finished with exit code 1

这是一个使用 Gradle (3.4.1) 构建的 Spring Boot (1.5.1) 应用程序。当我调用gradle bootRun 时,应用程序会毫不费力地启动。 我已经尝试从头开始重新导入(删除整个目录并重新 git 克隆它)并删除本地 .gradle 目录。总共有两个应用程序不再工作,但自昨天以来没有任何代码更改。

【问题讨论】:

    标签: intellij-idea gradle spring-boot


    【解决方案1】:

    好吧,根据 Jetbrain 的错误跟踪器,IntelliJ 2016.3.4 中似乎存在一个错误,它与 Gradle 3.4 不能很好地协同工作:https://youtrack.jetbrains.com/issue/IDEA-168710

    解决方案:升级到 IntelliJ 2017(撰写本文时为 EAP)或降级到 Gradle 3.3。

    降级 Gradle 非常简单,只需在项目中输入 ./gradlew wrapper --gradle-version=3.3

    【讨论】:

    • 请问在哪里输入
    • @olyjosh 在终端上,在项目的根目录中。这假设您在那里有一个 gradlew 可执行文件
    • 谢谢 ,,, 我将 Intellij Idea 升级到 2018 年,我的问题解决了 :)
    猜你喜欢
    • 2021-01-17
    • 2013-05-27
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多