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中定义的依赖项从头开始下载所有存储库。

  1. 去构建路径。 在库添加部分中检查Maven存储库。
  2. 选择任何jar和mousehover ..它将显示本地存储库位置。 通常它是:user / .m2 / repository / ….
  3. 去那个地方。 并删除存储库文件夹包含。
  4. 现在右键单击你的项目..做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