我有以下结构:
parent-pom (pom)
|
- base-component (with <parent> parent-pom </parent>)(pom)
|
-- child-component (with <parent> base-component </parent>)(jar)
-- some-folder/another-child (with <parent> base-component </parent>)(jar)在parent-pom中,我有如下版本的属性
<properties>
<product-version>3.7.8</product-version>
</properties>当我构建child-component并在那里使用${product-version}时,它是在没有错误的情况下构建的。但是当我尝试构建another-child(以子组件作为依赖项)时,即使我设置了<relativePath>,maven也无法读取${product-version}或抛出错误Could not find artifact base-component。
我认为问题出在base-component和另一个子组件之间的文件夹,但我不能将它移动到更高的级别。
有什么想法吗?
发布于 2014-12-05 02:55:46
确保在another-child模块中正确设置了相对路径。因为它在另一个目录下,所以它的父base-component应该在两个目录下:
<parent>
<groupId>...</groupId>
<artifactId>base-component</artifactId>
<version>...</version>
<relativePath>../../pom.xml</relativePath>
</parent>还要确保在base-component项目中,模块定义包含another-child的附加路径,因此它应该类似于:
<modules>
<module>child-component</module>
<module>some-folder/another-child</module>
</modules>在构建another-child (或任何其他子模块)之前,尝试从根父级开始构建(mvn install)整个项目。
发布于 2020-01-17 17:50:47
尝试在pom上设置项目目录。
父级:
<properties>
<main.basedir>${project.basedir}</main.basedir>
</properties>兄弟姐妹/孩子:
<properties>
<main.basedir>${project.parent.basedir}</main.basedir>
</properties>子女/孙辈:
<properties>
<main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>https://stackoverflow.com/questions/27299421
复制相似问题