如何在我自己的项目中引用供应商的WAR

时间:2011-11-14 18:29:19

标签: java maven build war

我想根据我从软件供应商处获得的war文件使用maven构建war文件。供应商提供的war文件包含WEB-INF / classes中的类和WEB-INF / lib中的jar。

我能够在warpath插件的帮助下引用classes文件夹,但不能在lib文件夹中引用jar。有没有办法做到这一点?

这是我正在使用的pom.xml。

<dependencies>
    <dependency>
        <groupId>com.vendor</groupId>
        <artifactId>vendor-web-app</artifactId>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.vendor</groupId>
        <artifactId>vendor-web-app</artifactId>
        <type>warpath</type>
    </dependency>
<!-- ... other dependencies...-->
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <dependentWarExcludes>WEB-INF/lib/* </dependentWarExcludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.appfuse.plugins</groupId>
            <artifactId>maven-warpath-plugin</artifactId>
            <version>2.1.0-M2</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <goals>
                        <goal>add-classes</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
<!-- ... other plugins ...-->

    </plugins>
</build>

我正在使用maven 2(2.2.1),因为warpath插件不能与maven 3(3.0.3)一起使用。

1 个答案:

答案 0 :(得分:0)

您可以在generate-resources阶段unpack the war并在package阶段使用maven assembly plugin包含其中的文件。