【发布时间】:2019-03-27 10:03:19
【问题描述】:
我的项目结构如下:
Parent
-- Module A
-- Module B
-- Module C
-- Module D
Parent 具有以下属性:
<properties>
<ModuleA.version>1.8</ModuleA.version>
</properties>
在模块C 中,我指定A 的依赖关系,使用${ModuleA.version}。
Module D 依赖于Module C,而Module C 又依赖于Module A。现在,当我在Module D 上运行mvn clean install 时,考虑到它们共享同一个父级,我希望在父级中定义的属性可用,因此ModuleA.version 将解析为1.8 并使用。
但是,命令失败并出现错误:
The following artifacts could not be resolved: ModuleA:jar:${ModuleA.version}
有人可以帮我解决我在这里缺少的东西吗?
在所有模块中,我都正确指定了父母。
即:Module C 和 Module D 提到 Module B 作为父母。 Module B 和 Module A 提到 Parent 作为父母。
实际的 POM 如下: 家长:
<groupId>com.dummy</groupId>
<artifactId>parent</artifactId>
<version>0.15-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Parent</name>
<properties> <store-version>0.19-SNAPSHOT</store-version>
<data-version>0.16-SNAPSHOT</data-version>
</properties>
数据 POM
<parent>
<groupId>com.dummy</groupId>
<artifactId>parent</artifactId>
<version>0.15-SNAPSHOT</version>
<relativePath>../../parent</relativePath>
存储 POM:
<parent>
<groupId>com.dummy</groupId>
<artifactId>parent</artifactId>
<version>0.15-SNAPSHOT</version>
<relativePath>../../parent</relativePath>
</parent>
<dependency>
<groupId>com.dummy</groupId>
<artifactId>data</artifactId>
<version>${data-version}</version>
<scope>compile</scope>
</dependency>
当我对 Store 项目使用 mvn clean install 时,它会找到数据版本并且没有给出错误。
来源 POM
<parent>
<groupId>com.dummy</groupId>
<artifactId>parent</artifactId>
<version>0.15-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>source</artifactId>
<packaging>pom</packaging>
<version>0.6-SNAPSHOT</version>
源 API POM
<parent>
<groupId>com.dummy</groupId>
<artifactId>source</artifactId>
<version>0.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<dependency>
<groupId>com.dummy</groupId>
<artifactId>store</artifactId>
<version>${store.version}</version>
<scope>compile</scope>
</dependency>
源 API 构建良好,找到合适的版本。
来源 WS
<parent>
<groupId>com.dummy</groupId>
<artifactId>source</artifactId>
<version>0.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<dependency>
<groupId>com.dummy</groupId>
<artifactId>source-api</artifactId>
<version>${project.version}</version>
</dependency>
当我尝试构建 source-ws 时,构建失败并出现错误,${data-version} not found。
【问题讨论】:
-
请出示pom文件...
标签: maven