1

我有一个项目结构如下图所示发布单个模块使用Maven版本插件

P1 |树干 |分支机构 |标签

P2 |树干 |分支机构 |标签

P3 |后备箱 |分支 |标签

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

直到现在,我正试图使用​​一个父pom与这些项目添加为子模块,并试图执行版本升级,标记和release.Each这些项目继承父pom但是,我看到标记失败个别项目。

所以我的问题是

有可能是我使用隔离插件升级的版本并执行标签更新这样的个别项目? 如果不可能,对像这样的单个项目结构执行自动发布的最佳方式是什么?

这些是遗留代码,分支文件夹里有很多分支。不能轻易将其归因于maven中纯朴的亲子模式。

在此先感谢

回答

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>