我的项目依赖于某些框架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方面解决此问题吗?请帮忙。
答案 0 :(得分:0)
有一种方法可以用具体的值替换palceholder:在框架父pom文件构建部分(首先运行)中添加flatten-maven-plugin-这不会影响框架的功能,但必须在框架中完成侧。我将此建议提供给框架所有者,然后他们采纳了。有用。
感谢所有评论提供者!