Maven:如何从胖罐中排除一件神器?

时间:2017-03-24 17:20:19

标签: maven

我知道放置在<exclusions>内的<dependency>属性以从依赖项中排除特定工件,但问题是必须找出可能包含工件的所有依赖项希望被排除,然后逐个从所有这些依赖项中排除该工件。难道没有更简单的方法在pom中指定某个工件不应该在fat-jar中结束而不管尝试包含它的依赖是什么?

1 个答案:

答案 0 :(得分:1)

我找到了答案herehere

使用artifactSet排除:

<artifactSet>
                <excludes>
                  <exclude>classworlds:classworlds</exclude>
                  <exclude>junit:junit</exclude>
                  <exclude>jmock:*</exclude>
                  <exclude>*:xml-apis</exclude>
                  <exclude>org.apache.maven:lib:tests</exclude>
                  <exclude>log4j:log4j:jar:</exclude>
                </excludes>
              </artifactSet>

并使用过滤器排除类:

<filters>
                <filter>
                  <artifact>junit:junit</artifact>
                  <includes>
                    <include>junit/framework/**</include>
                    <include>org/junit/**</include>
                  </includes>
                  <excludes>
                    <exclude>org/junit/experimental/**</exclude>
                    <exclude>org/junit/runners/**</exclude>
                  </excludes>
                </filter>