有人知道如何将特定的lib排除在打包到.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),这会给应用程序服务器带来一些麻烦。有没有一种方法可以从包装中排除此特定的库?我无法通过设置提供的标签来排除整个罐子。
提前谢谢
答案 0 :(得分:0)
要在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,但会在构建后向最终战争中添加类路径,如果您确实发生了这种情况,可能会导致运行时错误在部署时会以某种方式错过JAR。
第二个操作是使用<packagingExcludes>
配置参数。
POM.xml中的语法如下:
<configuration>
<packagingExcludes>WEB-INF/lib/mtwilson-client-2.0.3.jar</packagingExcludes>
</configuration>
您可以在排除特定罐子的情况下访问Apache Maven Doc。