无法解析Maven依赖项占位符参考值

时间:2019-03-19 14:36:37

标签: maven dependencies parent-child

我的项目依赖于某些框架jar:

<groupId>my-compamy</groupId>     
<artifactId>my-project</artifactId>         
<version>1.0</version>    
<dependency> 
    <groupId>my-company</groupId> 
    <artifactId>child-jar1</artifactId> 
    <version>2.0</version>
</dependency> 

最近,框架团队更改了其包装,在存储库中,他们将父pom(用于分离的子jar)放置如下:

<properties> 
    <reivison>2.0</revision> 
</properties>

<groupId>my-company</groupId>
<artifactId>framework-parent</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>

<modules>
    <module>child-jar1</module>
</modules> 

在child-jar1 pom中:

<parent>
    <artifactId>framework-parent</artifactId>
    <groupId>my-company</groupId>
    <version>${revision}</version>  <!-- can find the value! -->
</parent> 

<artifactId>child-jar1</artifactId>
<packaging>jar</packaging>

在构建项目时,出现如下错误消息:

...无法在my-company:child-jar1:jar:2.0上收集依赖项。

...原因:找不到framework-parent:pom $ {revision}

并且未下载子jar。

它似乎是子pom中的占位符引起了问题:my-project无法解析从属(chiild-jar1)pom中的占位符值。 尝试了多种方法来从我的项目侧解析参考值,但是没有任何效果。可以在不更改任何依赖框架设置的情况下从my-project方面解决此问题吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

有一种方法可以用具体的值替换palceholder:在框架父pom文件构建部分(首先运行)中添加flatten-maven-plugin-这不会影响框架的功能,但必须在框架中完成侧。我将此建议提供给框架所有者,然后他们采纳了。有用。

感谢所有评论提供者!