Maven发布插件maven 2

时间:2012-09-19 10:02:00

标签: maven-2 maven-release-plugin

我有多模块项目,就像在父pom上定义模块一样:

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

当我在父项目mvn release:prepare上输入时,它会构建每个子项,并且它自己也会结束。有没有办法告诉发布插件安装每个孩子?因此,当我键入mvn release:prepare时,它会预先生成孩子:构建安装,最后发布吗?

父母:

<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>

1 个答案:

答案 0 :(得分:0)

如果您有多模块构建,则需要执行mvn版本:prepare和mvn release:在多模块构建的根目录上执行步骤而不是在每个子代上执行。