我目前正在使用 maven-ear-plugin 构建 EAR 文件
我需要从 MANIFEST.MF 文件中排除一些 Class-Path: 条目。
例如,我的类路径中有 3 个依赖项 hibernate-core.jar、quartz-1.6.5.jar 和 poi-3.7.jar(在我的 pom.xml 依赖项中)
当我构建 EAR 文件时,所有这些条目都将自动添加到 MANIFEST.MF 文件的类路径条目中。
我的 Maven 构建如下
<build>
<finalName>MyEAR</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<addExtensions />
<classpathPrefix />
</manifest>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF </manifestFile>
</archive>
.....
.....
</configuration>
</plugin>
</plugins>
</build>
在上面的构建文件中
<addClasspath>true</addClasspath>
负责添加 MANIFEST.MF 条目。
我的要求是仅在依赖项quartz-1.6.5.jar和poi-3.7.jar中添加2个jar,并排除剩余的。
如果我给出 false,所有条目都会从 MANIFEST.MF 类路径中排除。 如果从 pom 中删除依赖项,我会收到编译错误。
如何实现上述场景。
谢谢
最佳答案
将范围“provided”添加到非必需依赖项:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>..</version>
<scope>provided</scope>
</dependency>
关于java - 排除 MANIFEST.MF 中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19805629/