使用Maven Release Plugin发布单个模块

时间:2014-08-27 16:27:49

标签: maven jenkins maven-plugin jenkins-plugins maven-release-plugin

我有一个项目结构如下

P1 | trunk    |分支机构    | tags

P2 | trunk    |分支机构    |标签

P3 | trunk    |分支机构    | tags

p1是一个单独的jar项目。 P2也是一个jar项目,但依赖于p1和p3需要p1和p2。 P3基本上是一个war文件,其中包含p1和p2。

直到现在我正在尝试使用父pom将这些项目作为子模块添加并尝试执行版本升级,标记和发布。这些项目中的每一个都继承父pom但是我看到标记失败了个人项目

所以我的问题是

我可以使用release插件升级版本并对这样的单个项目执行标签更新吗? 如果不可能,为这样的单个项目结构执行自动发布的最佳方法是什么?。

这些是遗留代码,branches文件夹中有很多分支。不能轻易地将它重新考虑到maven中的普通父子模型。

先谢谢

1 个答案:

答案 0 :(得分:1)

这应该是可能的。你能展示你的pom.xml的相关部分并描述标记失败的原因吗?顺便说一句,这是Subversion,对吗?

我会尝试像这样的POM结构。父:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>...</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <modules>
        <module>../child1/</module>
        <module>../child2/</module>
    </modules>
</project>

子:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>...</groupId>
        <artifactId>parent</artifactId>
        <version>1.0</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>
    <groupId>...</groupId>
    <artifactId>child-1</artifactId>
    <version>1.1</version>
    ...
</project>