Maven属性未在父标签中解析

3
以下属性未被解析:
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <spring.boot.version>1.3.3.RELEASE</spring.boot.version>
</properties>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${spring.boot.version}</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

无法解析父POM com.myproject:0.0.1-SNAPSHOT,原因是找不到org.springframework.boot:spring-boot-starter-parent:pom:${spring.boot.version}

有人知道我做错了什么吗?


我在使用Eclipse和Maven(内部)版本3.3.x < 3.3.9构建时注意到了这样的错误。在升级到Maven 3.3.9后,该错误已经消失了。 - Ralph
1
我不知道为什么,但如果你删除spring.boot.version并且在parent-tag中“硬编码”版本,它会起作用。如果让Spring Initializr创建pom文件,则properties-tag位于parent-tag之后,因此我不确定以另一种方式完成是否完全正确。 - jon martin solaas
1个回答

6
这是正常的。目前,Maven不会评估<parent>标签中的属性,因此需要显式地写出版本号。
这在MNG-2569中被报告为错误,并由更一般的MNG-624复制。目前没有计划在未来使其工作(该问题已关闭为“不修复”)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接