昨天我的应用程序工作正常但是当我今天尝试通过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
时,应用程序就会毫不费力地启动。
我已经尝试从头开始重新导入(删除整个目录并重新克隆它)并删除本地.gradle
目录。总共有两个应用程序不再工作,但自昨天以来没有任何代码更改。
答案 0 :(得分:6)
好吧,根据Jetbrain的bug追踪器,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
即可。