builder-helper-maven-plugin中的attach-artifact目标取消默认打包部署

时间:2014-11-25 09:29:16

标签: maven nexus build-helper-maven-plugin

我正在使用maven构建我的Web服务项目。

在我的pom.xml中,我有:

<packaging>war</packaging>

这导致我的.war部署在nexus中。

但是我还想使用builder-helper-maven-plugin从这个项目的类子集中提取一个jar:

创建jar,导致在target中创建ws-webservice.jar:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <includes>
                    <include>org/xxx/ws/yyy/config/**/*</include>
                    <include>org/xxx/ws/yyy/domain/**/*</include>
                    <include>org/xxx/ws/yyy/jpa/**/*</include>
                </includes>
            </configuration>
        </plugin>

build-helper-maven-plugin执行:

            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>attach-artfact</id>
                    <phase>package</phase>
                    <goals>
                        <goal>attach-artifact</goal>
                    </goals>
                    <configuration>
                        <artifacts>
                        <artifact>
                            <file>target/ws-webservice.jar</file>
                            <type>jar</type>
                        </artifact>
                        </artifacts>
                    </configuration>
                </execution>

使用此配置,只有.jar部署在nexus中,并且不再部署战争。

有什么想法?`

修改

我设法使用

将jar和战争部署到nexus
<artifact>
   <classifier>dao-jpa</classifier>
   <file>target/ws-webservice.jar</file>
   <type>jar</type>
</artifact>

这导致ws-webservice-1.0.0-SNAPSHOT.war和ws-webservice-1.0.0-SNAPSHOT.dao-jpa.jar。 当然,在这种情况下,分类器是强制性的。

好的方法可能是在两个不同的子项目中包含dao层和webservice的maven父项目。

0 个答案:

没有答案