首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven无法访问父级属性

Maven无法访问父级属性
EN

Stack Overflow用户
提问于 2014-12-05 00:47:24
回答 2查看 2.8K关注 0票数 1

我有以下结构:

代码语言:javascript
复制
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中,我有如下版本的属性

代码语言:javascript
复制
<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和另一个子组件之间的文件夹,但我不能将它移动到更高的级别。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-12-05 02:55:46

确保在another-child模块中正确设置了相对路径。因为它在另一个目录下,所以它的父base-component应该在两个目录下:

代码语言:javascript
复制
<parent>
    <groupId>...</groupId>
    <artifactId>base-component</artifactId>
    <version>...</version>
    <relativePath>../../pom.xml</relativePath>
</parent>

还要确保在base-component项目中,模块定义包含another-child的附加路径,因此它应该类似于:

代码语言:javascript
复制
<modules>
    <module>child-component</module>
    <module>some-folder/another-child</module>
</modules>

在构建another-child (或任何其他子模块)之前,尝试从根父级开始构建(mvn install)整个项目。

票数 0
EN

Stack Overflow用户

发布于 2020-01-17 17:50:47

尝试在pom上设置项目目录。

父级:

代码语言:javascript
复制
<properties>
    <main.basedir>${project.basedir}</main.basedir>
</properties>

兄弟姐妹/孩子:

代码语言:javascript
复制
<properties>
    <main.basedir>${project.parent.basedir}</main.basedir>
</properties>

子女/孙辈:

代码语言:javascript
复制
<properties>
    <main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27299421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档