gpt4 book ai didi

java - Maven 模块 - 如何在不相关的项目中将其用作外部库

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:56 26 4
gpt4 key购买 nike

我在 Maven 中设置了一个模块化项目,其父项目具有多个子项目。

父级的 pom.xml 如下所示 -

<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>parent-app</artifactId>
<version>${parent-application.version}</version>
<packaging>pom</packaging>

<dependencies>...</dependencies>

<properties>
<parent-application.version>1.0</parent-application.version>
</properties>

<modules>
<module>parent-model</module>
<module>parent-masters</module>
<module>parent-web</module>
</modules>
</project>

子项目的 pom.xml 如下所示 -

<project ...>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.company</groupId>
<artifactId>parent-app</artifactId>
<version>${parent-application.version}</version>
</parent>

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

<dependencies>...</dependencies>
</project>

现在,我需要将其中一个子项目用作单独的不相关项目中的库。新项目的 pom 如下所示。

<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>unrelated-app</artifactId>
<version>1.0</version>

<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>child-model</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</project>

我不断收到以下错误索引 57 处的路径中存在非法字符:http://repo.maven.apache.org/maven2/com/company/parent-app/${parent-application.version}/parent-app-${parent-application.version}.pom

原因似乎是我从 pret-app 继承了 child-model 中的版本属性。

有办法解决这个问题吗?或者我是否需要在各自的 pom.xml 中提供每个子模块的版本,并且不能从公共(public)父模块继承。

提前致谢。

最佳答案

有一种方法可以使用 relativePath 来解决这个问题,但我不推荐它(看看这个 answer )...您应该始终提供父模块的版本。要更新所有模块(父级+子级)的所有版本,您可以使用 maven-version-pluginmaven-release-plugin

关于java - Maven 模块 - 如何在不相关的项目中将其用作外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com