如何构建具有不同依赖项的 war 的多个版本

How to build several versions of a war with different dependencies

我面临这样一种情况,我需要使用不同的依赖集构建不同的 war,以便在 Tomcat 7 和 WebSphere 8 下都可以部署(WebSphere 提供了大量的依赖项它自己的),我正在寻找最好的方法。

您在实际项目中如何处理此类情况?我错过了什么?

汇编完成工作:

<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
    <id>websphere8</id>
    <includeBaseDirectory>false</includeBaseDirectory>
    <formats>
        <format>war</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/${project.build.finalName}</directory>
            <outputDirectory></outputDirectory>
             <excludes>
                <exclude>WEB-INF/lib/*.jar</exclude>
             </excludes>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>WEB-INF/lib</outputDirectory>
            <useTransitiveFiltering>true</useTransitiveFiltering>
            <excludes>
                <exclude>javax.ws.rs:jsr311-api:*</exclude>
                <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:*</exclude>
                <exclude>xml-apis:xml-apis:*</exclude>
                <exclude>xerces:xercesImpl:*</exclude>
                <exclude>org.hibernate.javax.persistence:hibernate-jpa-2.0-api:*</exclude>
                <exclude>org.ow2.jotm:jotm-core:*</exclude>
                <exclude>org.glassfish.hk2.external:javax.inject:*</exclude>
            </excludes>
        </dependencySet>
    </dependencySets>
</assembly>