【发布时间】:2020-04-14 17:49:41
【问题描述】:
这个项目运行良好。我只是在 pom.xml 中使用 Spring boot 版本,导入了一些新的 maven 项目,然后看到对于这些新项目,Springboot 注释和导入停止工作 -
Cannot resolve @SpringBootApplication
pom.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 boot 1.5.2.RELEASE。 我检查了这两个版本是否都在我的本地 .m2 存储库中。不知道是什么问题。
看来,所有导入的新项目都抛出了同样的问题。 例如。 https://github.com/callicoder/spring-boot-actuator-demo
更新
我意识到我的主要项目有一些依赖项(从远程服务器下载的 Maven 存储库)。这些在 .m2/settings.xml 中定义。
当我在命令行上运行 mvn install 时,我得到了这个错误 -
[错误] 无法在项目执行器演示上执行目标:无法解析项目 com.example:actuator-demo:jar:0.0.1-SNAPSHOT 的依赖项:无法在 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.RELEASE from/to 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:Bad Gateway。 -> [帮助 1]
我备份了 settings.xml 并将其删除。我运行 mvn clean fresh,这次它从 mvn 远程存储库下载了人工制品,问题得到了解决。
不确定为我的工作项目和演示项目切换 settings.xml 的正确方法是什么,因为前者需要这些设置。
【问题讨论】:
-
尝试清除缓存.. 或者在最坏的情况下,删除
.m2文件夹。也不要忘记检查我发现有一天设置的“在线模式”,我想知道为什么新的依赖关系没有解决几个小时。试一试:) -
使用
mvn dependency:tree -Dincludes=[groupId]:[artifactId]:[type]:[version]将您的依赖关系树打印到 fike 并查看您使用的依赖项和版本。
标签: java spring spring-boot maven