java - 如何从war包中排除lib

标签 java maven

有谁知道如何从打包到 .war 中排除特定的库

我有以下依赖项:

<dependency>
    <groupId>com.intel.mtwilson</groupId>
    <artifactId>mtwilson-client</artifactId>
    <version>2.0.3</version>
</dependency>

WEB-INF 中的 mtwilson-client-2.0.3.jar 包含一个库(javax servlet),这会导致应用程序服务器出现一些问题。有没有办法从打包中排除这个特定的库?我无法通过设置提供的标签来排除整个 jar 。

提前谢谢

最佳答案

要在 WAR 中排除包含上述 jar 的 Maven,唯一需要做的就是将其标记为 provided .

现在您的上述依赖项将如下所示:

<dependency>
    <groupId>com.intel.mtwilson</groupId>
    <artifactId>mtwilson-client</artifactId>
    <version>2.0.3</version>
    <scope>provided</scope>
</dependency>

注意: provided不会将特定的 JAR 添加到 war 中,但会在构建后向最终 war 添加类路径,如果您在部署时实际上碰巧错过了 JAR,这可能会导致一些运行时错误。

第二你可以做的就是使用 <packagingExcludes>配置参数。

POM.xml 中的语法如下:

        <configuration>
          <packagingExcludes>WEB-INF/lib/mtwilson-client-2.0.3.jar</packagingExcludes>
        </configuration>

您可以访问Apache Maven Doc排除特定 jar。

关于java - 如何从war包中排除lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54441992/

相关文章:

java - 通过命令行从 Java 类运行方法

java - Android 中的 AboutToQuit 信号/事件

java - Spring Boot + Spring Data JPA + H2 :Error creating bean with name 'entityManagerFactory' defined in class path resource

java - 如何将内置的 hibernate 模式添加到本地Maven存储库中?

java - Hibernate jar 兼容性问题

java - 使用 hibernate 连接到 SQL Server 2017

java - 为什么我的程序抛出 "IndexOutOfBoundsException",索引为 : 1, Size: 0

Java:catch block 可以是多态的吗?

java.rmi.UnmarshalException : unrecognized method hash: method not supported by remote object 错误

java - Liquibase Maven : Cannot find changelog location when spring-boot starts