Maven:从多模块项目中仅构建一个模块

2022-09-01 06:45:54

我有一个多模块Maven项目,我只想发布一个更新模块,而不是整个项目。这是由于一些特定的要求,其中整个项目的发布是不必要的 - 只有库的子集需要修复,因此需要发布。

但是,当我运行一个时,我收到以下错误 - 我已经在模块项目中设置了带有标签的父POM关系,但这似乎不起作用。mvn release:prepareNon-resolvable parent POMrelativePath

是否可以只发布一个模块,而不是发布整个项目。

提前致谢。

编辑

父项

<groupId>com.domain</groupId>
<artifactId>project-parent</artifactId>
<version>0.5.1-SNAPSHOT</version>

<packaging>pom</packaging>

<modules>
    <module>library1</module>
    <module>library2</module>
    <module>library3</module>
</modules>

模块 POM 如下:

<parent>
    <groupId>com.domain></groupId>
    <artifactId>project-parent</artifactId>
    <version>0.5.1-SNAPSHOT</version>
</parent>

<artifactId>library1</artifactId>

现在我只想发布新版本的库1,而不是其他


答案 1
mvn -pl .,library1 clean install

“.”将构建您的父 pom.xml“,而”library1“是您为其提供的模块名称。

如果你不想构建父 pom.xml,你也可以做:

mvn -pl library1 clean install

或者就您而言,也许:

mvn -pl library1 deploy

我使用“部署”,因为“发布”不是 Maven 构建生命周期阶段。


答案 2

尝试使用 -pl <项目名称>开关从父项目/目录运行 maven 命令。


推荐