我正在尝试为Spring Boot应用程序设置Maven项目,但在尝试保存pom.xml文件时,我遇到以下问题:
项目构建错误:io.javabrains.springbootquickstart的不可解析的父POM:course-api:0.0.1-SNAPSHOT:找不到工件org.springframework.boot:spring-boot-starter-parent:pom:$ {revision在中心(https:// repo.maven.apache.org/maven2)和'parent.relativePath'指向错误的本地POM
这是我的pom.xml文件:
<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>io.javabrains.springbootquickstart</groupId>
<artifactId>course-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Java Api course</name>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2 RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
4 回答
从哪里修改将被取代?
通过指定如下所示的任何版本来修改
pom.xml
.解决了这个问题 . 有一点错误 . 它应该是 1.4.2.RELEASE 而不是 1.4.2 RELEASE . RELEASE和2之间不应该有空格 . 这个小点导致了这个问题 .
这里 :
只有当Maven找到一个带有
revision
名称的变量时,${revision}
才会被Maven(即已翻译)插入 .但
revision
不是Maven内置的变量 . 变量为${project.version}
和${project.artifactId}
.因此,在您的情况下,如果要使用它,则必须明确声明或传递变量 .
例如,它可以通过添加它来工作:
或者通过运行maven如:
mvn package -Drevision="1.4.2 RELEASE"
您可以找到更多信息here .
请注意,
revision
属性似乎具有太宽泛的含义,无助于理解属性含义 .一个更精确的名称,例如
${spring-boot-version}
会更有意义 .这可能是因为spring初始化器创建了这样的项目pom文件
但是,sts与版本“2.0.4.RELEASE”兼容,只需进行此更改即可
进一步Maven - >更新项目