当前位置: 首页 > 知识库问答 >
问题:

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

潘飞英
2023-03-14

我正在使用maven war插件生成war文件。

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

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

然而,我有很多依赖项要排除,我必须在许多WAR pom文件中这样做。

我的问题是:

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

共有1个答案

马泰
2023-03-14

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

试试这个--

构建war时,可以通过以下方式排除所有依赖项:

<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>
 类似资料:
  • 我试图摆脱。SF,。DSA和。bouncyCastle中的RSA文件,这样我就可以将jar包含到我的jar中并远程部署它。我发现我需要使用maven-依赖-插件,但是排除似乎并没有真正……排除。有点破坏了整个目的。 如果我解压缩文件,签名密钥仍然在那里,特别是在META-INF目录中。如果我手动删除它们并重新jar它,应用程序就可以工作。我只需要弄清楚如何自动排除这些文件! 下面是我的POM文件,

  • 问题内容: 我有一个项目,需要以下Maven jibx插件: 在jibx插件pom内部,有一个xpp3依赖关系,我想从我的项目构建过程中排除它(由于某种原因,我无法在私有存储库中拥有它)。 有没有一种方法可以配置我的pom.xml(而不是插件pom)来排除该依赖关系? 编辑:我试图从插件pom中删除xpp3依赖项,并且该项目可以成功构建,所以我知道依赖项不是强制性的。 问题答案: 这是一个示例,其

  • 问题内容: 我遇到一个问题,其中同一类的多个版本显示在我的类路径中。有问题的班级是。我要使用的版本由引入。但是,我们还使用了Jira rest客户端库,该库依赖于较旧版本的jersey(),该版本包含捆绑在jar中的java.ws软件包。 这是构建文件中的示例片段: 我无法删除它,因为它使用了与新版本不同的软件包名称,并且会导致在Jira客户端中找不到类def的异常。 据我所知,目前我的选择是:

  • Maven插件及其在父pom中定义的依赖项,我不希望我的子pom包含该插件依赖项。 例如,如果有1个父级和100个子级,99个使用该插件并希望在一个子级中排除该插件。 我们如何才能实现这一目标?

  • 我正在使用maven shade插件创建一个胖罐子,其中也包括一些弹性城堡罐子。但这造成了问题,因为Bouncy Castle的未签名版本。

  • 关于maven和传递依赖排除有几个问题。然而,我不能让它工作。我的pom中有一些依赖项,它们重新打包了一些库,以减小pom的大小。到目前为止,这是成功的。但是当我运行时,这些可传递的依赖项会被写入。类路径文件。尽管它们被排除在外,如以下摘录所示。 Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06;2015-04-22T13:57