maven-war-plugin:从lib文件夹中排除许多依赖项

时间:2014-04-22 13:49:24

标签: java maven war maven-war-plugin

我正在使用maven-war-plugin来生成WAR文件。

在依赖关系层次结构中,我可以看到许多传递依赖关系,它们在lib文件夹中提取。

经过多次研究,我发现从war lib文件夹中排除它们的最简单方法是在依赖项中将它们声明为“提供”。

但是,我有很多依赖项需要排除,我必须在许多WAR pom文件中执行此操作。

我的问题是:

有没有办法在'pom'包装中对所有这些依赖项进行分组,并在我的WAR pom文件中使用这个新工件?

1 个答案:

答案 0 :(得分:3)

如果我理解你的需要......

试试这个 - > http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html

当您构建战争时,您可以通过这种方式排除所需的所有依赖项:

<build>
<plugins>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
      <!--
        Exclude JCL and LOG4J since all logging should go through SLF4J.
        Note that we're excluding log4j-<version>.jar but keeping
        log4j-over-slf4j-<version>.jar
      -->
      <packagingExcludes>
        WEB-INF/lib/commons-logging-*.jar,
        %regex[WEB-INF/lib/log4j-(?!over-slf4j).*.jar]
      </packagingExcludes>
    </configuration>
  </plugin>
</plugins>