4

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

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

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

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

我的问题是:

有没有办法将所有这些依赖项分组到“pom”包装中,并在我的 WAR pom 文件中使用这个新工件?

4

1 回答 1

4

如果我了解您的需求...

试试这个--> http://maven.apache.org/plugins/maven-war-plugin/examples/including- exclude -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>

于 2014-04-22T14:52:21.533 回答