Maven货物uberjar:如何排除依赖

时间:2013-10-03 15:03:30

标签: java eclipse maven merge cargo

我正在尝试使用Maven货物超级战争插件。 我想这样做:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.2.2</version>
            <extensions>true</extensions>
            <configuration>
                <descriptor>src/assemble/merge.xml</descriptor>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>my.first.war</groupId>
        <artifactId>MyFirstWar</artifactId>
        <type>war</type>
        <exclusions> 
            <exclusion> 
                <groupId>javassist</groupId> 
                <artifactId>javassist</artifactId> 
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>my.second.war</groupId>
        <artifactId>MySecondWar</artifactId>
        <type>war</type>
            <exclusions> 
        <exclusions> 
            <exclusion> 
                <groupId>javassist</groupId> 
                <artifactId>javassist</artifactId> 
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

但它不起作用,安装我的超级战争后,javassist仍在我的库中。

我不想在我的两场战争中排除,我想在我的超级战争中排除。 这个解决方案不起作用,还有其他的吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对于每次战争,您都应该设置为javassist提供的范围。就是这样:

<dependency>
    <groupId>javassist</groupId> 
    <artifactId>javassist</artifactId>
    <scope>provided</scope>
</dependency>