Maven发布插件jar-with-dependencies

时间:2015-03-20 14:48:29

标签: java maven maven-assembly-plugin maven-release-plugin archiva

我有pom文件的maven-assembly-plugin部分,如下所示:

        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.my.package.MyMainClass</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
             <execution>
                 <id>make-assembly</id>
                 <goals>
                     <goal>single</goal>
                 </goals>
             </execution>
            </executions>
        </plugin>

和maven-release-plugin一样:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <goals>deploy</goals>
                <checkModificationExcludeList>pom.xml</checkModificationExcludeList>
                <tagNameFormat>@{project.version}</tagNameFormat>
                <providerImplementations>
                    <git>jgit</git>
                </providerImplementations>                  
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.scm</groupId>
                    <artifactId>maven-scm-provider-jgit</artifactId>
                    <version>1.9.2</version>
                </dependency>
            </dependencies>
        </plugin>

我需要为Archiva发布一个带有依赖jar的文件,但是release:perform命令只会在没有任何依赖关系的情况下upploads jar。我错过了什么?

1 个答案:

答案 0 :(得分:1)

好的..我必须回答我自己的问题。它只是将执行阶段“package”遗漏到程序集插件中。这是新的:

         <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.my.package.MyMainClass</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
             <execution>
                 <id>make-assembly</id>
                 <goals>
                     <goal>single</goal>
                 </goals>
             </execution>

             <!-- was missing the following one -->
             <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>

            </executions>
        </plugin>

感谢谢菲尔德指出我的包装阶段。