Maven Assembly插件:useTransitiveDependencies不起作用?

时间:2013-02-13 04:33:49

标签: maven dependencies maven-assembly-plugin

在我的汇编描述符中,我有以下内容:

<dependencySets>
    <dependencySet>
        <outputDirectory>ext</outputDirectory>
         <useTransitiveDependencies>false</useTransitiveDependencies>
        <excludes>
            <exclude>group1:artifact1:jar:${pom.version}</exclude>
            <exclude>group2:artifact2:jar:${pom.version}</exclude>
        </excludes>
    </dependencySet>
</dependencySets>

运行 mvn dependency:tree 时,我得到以下内容:

[INFO] +- org.springframework:spring-context:jar:3.0.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:3.0.5.RELEASE:compile
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile

我想要实现的是我在 ext 文件夹中只有字符串上下文。如上所述设置 useTransitiveDependencies 时, ext 目录根本不存在,当删除属性时,我的 ext 文件夹中包含所有thress jar。< / p>

任何人都知道如何排除 spring-aop aopalliance

纳斯

5 个答案:

答案 0 :(得分:0)

我会说spring-context应该适合你,不是传递依赖,而是直接依赖。

如果您接受允许传递依赖,则将要包含的依赖项的选择委派给依赖项POM。

答案 1 :(得分:0)

汇编描述符中有一个简单的条目:

      <useTransitiveDependencies>false</useTransitiveDependencies> 

哪个可以解决你的问题

答案 2 :(得分:0)

useTransitiveFiltering设置为true。如果您在include中使用exclude / dependencySet,则应考虑使用此选项。

答案 3 :(得分:-1)

  

任何人都知道我如何排除弹簧和aopalliance?

使用:

<exclude>org.springframework:spring-aop:jar:3.0.5.RELEASE</exclude>
<exclude>aopalliance:aopalliance:jar:1.0</exclude>

答案 4 :(得分:-2)

您是否尝试使用调试标志运行此maven命令?请使用调试标志运行它,您将找到解决方案。