0

我有多模块项目,比如在父 pom 上定义的模块,如:

<modules>
    <module>child1</module>
    <module>child2</module>
</modules>

当我在 parent project 上键入时mvn release:prepare,它会构建每个孩子,并最终构建自己。有没有办法告诉发布插件安装每个孩子?所以当我输入mvn release:prepareforeach child时:构建安装,最后发布?

父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>com.voncuver</groupId>
<artifactId>cu</artifactId>
<packaging>pom</packaging>
<version>1.6.1-SNAPSHOT</version>

<properties>
    <spring-version>2.5.6</spring-version>
    <maven-plugin-version>4.1.0.1-fuse</maven-plugin-version>
</properties>

<scm>
    <connection>scm:svn:file:///C:/Users/voncuver/Documents/myRepository/cu</connection>
    <developerConnection>scm:svn:file:///C:/Users/voncuver/Documents/myRepository/cu</developerConnection>
</scm>

<modules>
    <module>cu-pars-engine</module>
    <module>cu-agent</module>
</modules>


<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <configuration>
                        <classifier>${target.env}</classifier>
                    </configuration>
                </execution>
            </executions>
            <configuration>
                <archive>
                    <manifest>
                        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    </manifest>
                    <manifestEntries>
                        <Build>${JOB_NAME} #${BUILD_NUMBER} at ${BUILD_ID}</Build>
                        <Environment>${environment.type}</Environment>
                        <Revision>${SVN_REVISION}</Revision>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.8</version>
        </plugin>
    </plugins>
</build>

<repositories>
    <repository>
        <id>releases</id>
        <url>
            http://maven.vonc.com/content/repositories/releases/
        </url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>snapshots</id>
        <url>
            http://maven.von.com/content/repositories/snapshots/
        </url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<dependencyManagement>
    <dependencies>
        <dependency>
            <artifactId>cu-pars-engine</artifactId>
            <groupId>com.voncuver</groupId>
            <version>${pom.version}</version>
        </dependency>
        <dependency>
            <artifactId>cu-agent</artifactId>
            <groupId>com.voncuver</groupId>
            <version>${pom.version}</version>
        </dependency>
</dependencyManagement>

<distributionManagement>
    <repository>
        <id>releases</id>
        <url>http://maven.von.com/content/repositories/releases</url>
        <layout>default</layout>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://maven.von.com/content/repositories/snapshots</url>
        <layout>default</layout>
        <uniqueVersion>true</uniqueVersion>
    </snapshotRepository>
</distributionManagement>

孩子:

<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>
    <artifactId>cu</artifactId>
    <groupId>com.voncuver</groupId>
    <version>1.6.1-SNAPSHOT</version>
</parent>

<artifactId>cu-pars-engine</artifactId>
<packaging>jar</packaging>


<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>javacc-maven-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <id>javacc</id>
                    <goals>
                        <goal>javacc</goal>
                    </goals>
                </execution>
                <execution>
                    <id>javacc-ptparser</id>
                    <goals>
                        <goal>jjtree-javacc</goal>
                    </goals>
                    <configuration>
                        <isStatic>false</isStatic>
                        <buildNodeFiles>true</buildNodeFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

孩子二号:

<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">
<parent>
    <artifactId>cu</artifactId>
    <groupId>com.voncuver</groupId>
    <version>1.6.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>cu-agent</artifactId>
<packaging>jbi-service-unit</packaging>

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.12</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

4

1 回答 1

0

如果你有一个多模块构建,你需要在你的多模块构建的根目录上执行 mvn release:prepare 和 mvn release:perform 步骤,而不是在每个孩子上。

于 2012-09-19T13:14:44.367 回答