有谁知道如何从打包到 .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/