3

我正在使用 maven war 插件来排除一些常见的 jar 并将它们放在类路径中。我能够正确生成排除指定库的war文件并将它们添加到类路径中,但展开的war目录仍然包含排除的库。如何生成使用 Maven 战争插件配置的爆炸战争文件。

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ekaplus.ctrm.mdm</groupId>
    <artifactId>core-presentation</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <name>presentation layer core</name>

    <dependencies>
        <dependency>
            <groupId>com.ekaplus.ctrm.mdm</groupId>
            <artifactId>eka-core-mdm-presentation</artifactId>
            <version>1.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <profiles>
        <profile>
            <id>exploded</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <defaultGoal>package</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.1</version>
                        <configuration>
                            <packagingExcludes>
                                WEB-INF/lib/dto-common-1.0.jar,
                                WEB-INF/lib/eka-action-1.0.jar
                            </packagingExcludes>
                            <archive>
                                <manifest>
                                    <addClasspath>true</addClasspath>
                                </manifest>
                            </archive>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
4

1 回答 1

3

(...) 如何生成使用 Maven 战争插件配置的爆炸战争文件。

目标确实使用了 Maven 战争插件的war:exploded(全局)配置,但它不packagingExcludes承认war:war. 这是行不通的。

但是你为什么还要使用packagingExcludes呢?这个参数应该用于实现非常特殊的瘦战用例,我不确定它是你的情况。你为什么需要它?

根据您的确切需求,我的建议是使用依赖范围(provided在您的情况下?)或配置文件(添加依赖项)或两者的组合。

于 2010-10-31T06:07:17.140 回答