这个项目进行得很顺利。我只是在pom.xml中玩Springboot版本,导入了一些新的maven项目,然后看到对于那些新项目,Springboot注释和导入停止了工作-
Cannot resolve @SpringBootApplicationpom.xml -
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.in28minutes.database</groupId>
<artifactId>database-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>database-demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.11.RELEASE</version>
<!--<version>1.5.2.RELEASE</version>-->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>我还有另一个设置,即使用spring 1.5.2.RELEASE,我检查了本地.m2存储库中的这两个版本。不知道是什么问题。
看来,所有引进的新项目都在抛出同样的问题。例如https://github.com/callicoder/spring-boot-actuator-demo
更新
我意识到我的主要项目有一些依赖项(从远程服务器下载maven存储库)。它们在.m2/setings.xml中定义。
当我在命令行上运行mvn安装时,我得到了这个错误-
在项目执行器上执行目标失败-演示:无法解决项目的依赖关系。示例:执行器-演示:jar:0.0.1-快照:未能在org.springframework.boot:spring-boot-starter-actuator:jar:2.1.11.RELEASE:收集依赖项,未能读取工件描述符,因为org.springframework.boot:spring-boot-starter-actuator:jar:2.1.11.RELEASE:无法传输工件org.springframework.boot:spring-boot-starter-actuator:pom:2.1.11.从/向nexus (https://project.repository.com/repository/maven-public/)发布:未能传输文件:https://project.repository.com/repository/maven-public/org/springframework/boot/spring-boot-starter-actuator/2.1.11.RELEASE/spring-boot-starter-actuator-2.1.11.RELEASE.pom。返回代码是: 502,ReasonPhrase:坏网关。->帮助1
我备份了settings.xml并删除了它。我运行了mvn干净新鲜,这一次它从mvn远程存储库下载了工艺品,问题得到了解决。
不确定为我的工作项目和演示项目切换settings.xml的正确方法是什么,因为前者需要这些设置。
发布于 2019-12-23 12:48:25
从命令行进行测试,以确保正确设置Maven。如果maven无法从CLI中工作,那么修复它(也许您确实需要删除存储库并重新下载所有内容)。如果你删除了你的回购,如果你有不来自在线回购的文物,要小心。
根据您的编辑,您需要为Maven提供不同的settings.xml。这样做:
mvn --settings ~/.m2/settings-demo.xml clean install
它将使用备用设置文件。对于Intellij,可以在maven设置中指定settings.xml文件(选中“覆盖”并放入新路径):

它是从CLI运行的- Intellij有时会变傻,尝试转到File -> Invalidate Caches / Restart并选择“失效并重新启动”。

发布于 2019-12-23 12:44:52
我不认为这是Spring问题,听起来更像是Maven问题,因为Spring @SpringBootApplication注释正在工作。从您的描述和查看您的pom.xml,听起来好像您对Maven造成了一些冲突。
pom.xml中注意到您没有Spring的版本,这意味着Maven使用最接近根的版本,如果它的Spring版本低于2.0,则不支持@SpringBootApplication。另外,尝试在pom.xml中添加一个spring启动启动程序的版本。
https://stackoverflow.com/questions/59455328
复制相似问题