Spring Boot应用程序无法解析org.springframework.boot包
我已经使用Spring Initializer设置了一个spring boot项目,我尝试了几次来创建一个新项目或者使用依赖项,一切似乎都已到位。
我正在使用STS(Spring Tool Suite),它显示有关从org.springframework.boot
包导入的错误。 运行该应用程序会引发exception:
线程“main”中的exceptionjava.lang.Error:未解决的编译问题:SpringApplication无法解析。
com.example.DemoApplication:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
pom.xml中:
4.0.0 com.example demo 0.0.1-SNAPSHOT jar demo Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.2.7.RELEASE UTF-8 1.8 com.example.DemoApplication org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
我正在使用带有STS的Java 1.8。
更改spring boot parent的版本
org.springframework.boot spring-boot-starter-parent 1.4.2.RELEASE
项目上的右键 – > Maven – >更新项目
然后选中“强制更新快照/版本”
从您的pom.xml中,尝试删除spring存储库条目,默认情况下将从maven存储库下载。 我试过1.5.6.RELEASE并且工作得非常好。
如果以下步骤不起作用:
将我的Spring Boot 1.4.2.RELEASE替换为1.5.10.RELEASE
- 右键单击项目,然后 – > Maven->下载资源
- 右键单击项目 – > Maven->更新项目
出现此错误的原因可能是多个版本同样下载到您的maven本地存储库文件夹中。
因此,请按照以下步骤清除所有现有的存储库jar,并根据POM.xml中定义的依赖项从头开始下载所有存储库。
- 去构建路径。 在库添加部分中检查Maven存储库。
- 选择任何jar和mousehover ..它将显示本地存储库位置。 通常它是:user / .m2 / repository / ….
- 去那个地方。 并删除存储库文件夹包含。
- 现在右键单击你的项目..做Maven – > maven更新。
这将解决您的依赖问题。 因为Maven将尝试从存储库再次下载所有项目并构建项目。
当我尝试使用基本的春季启动应用程序时,我遇到了同样的问题。 我试图使用官方spring-boot网站上的最新spring-boot版本。
与今天一样,最新版本为1.5.4.RELEASE 。 但是我不断在我的eclipse IDE上遇到编译问题而不管项目的多次清理。 我将spring-boot的版本降低到了1.5.3.RELEASE ,它简单地工作了 ! 我早期的一些项目使用的是旧版本,它促使我尝试这个选项。
我在第一个Spring启动应用程序时遇到了同样的问题。
在教程中,我可以看到以下依赖项启动示例应用程序
- Spring Boot 1.4.2.RELEASE
- Maven 3
- java 8
我也做了同样的事情,我的Spring STS正在识别所有类,但是当我使用@SpringBootApplication注释我的主类时,它不能识别这个类,而我可以看到jar在类路径中可用。
我有以下解决问题
- 将我的Spring Boot 1.4.2.RELEASE替换为1.5.3.RELEASE
- 右键单击项目,然后 – > Maven->下载资源
- 右键单击项目 – > Maven->更新项目
之后它起作用了。
谢谢
当您将应用程序作为jar运行时, Manifest.MF
文件应该知道哪个类具有main方法。
要在SpringBoot编译代码时添加此信息,请在pom文件中添加start-class
属性。
例如:
com.example.DemoApplication
也许本地Maven存储库中的JAR文件存在问题。 尝试删除.m2 / repository文件夹并点击Maven – > Update Project …再次触发Maven再次下载依赖项。 我尝试过它,它对我有用。
在我的项目中,将spring-boot-starter-parent的依赖关系从2.0.0.release更新为2.0.5.relese。 这样做解决了问题无法解析导入org.springframework.boot.SpringApplication