我正在尝试使用inteliJ
开发一个Spring启动项目我使用Spring 1.5.2使用Spring启动INITIALIZR构建了一个初学者项目,gradle构建,没有额外的模块。
我已将其作为gradle项目导入inteliJ。
我能够运行测试(来自intelij),这是一个初学者项目 我能够在命令行上构建和运行项目
但它不会从intelij
运行主项目当我尝试运行该项目时,我收到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.bfc.BfcApplication.main(BfcApplication.java:10)
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
过去我对弹簧启动项目没有任何问题。
这个项目和我最后一个项目的唯一区别是我的最后一个使用了spring boot 1.4.3
我尝试创建一个新的spring initilizer项目,版本1.4.3,gradle和所有其他设置设置为默认值,这解决了这个问题。 只有1.5.2有问题
我的gradle.build文件如下
buildscript {
ext {
springBootVersion = '1.4.3.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}