排除MANIFEST.MF中的条目

时间:2013-11-06 06:37:01

标签: java maven pom.xml

我目前正在使用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文件的Class-Path条目中。

我的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条目。

我的要求是在依赖石英-1.6.5.jar和poi-3.7.jar中只添加2个罐子,并且要求重新使用。

如果我给出false,则所有条目都从MANIFEST.MF类路径中排除。 如果从pom中删除depependecy条目,我会收到编译错误。

如何实现上述情况。

感谢,

1 个答案:

答案 0 :(得分:1)

将范围“提供”添加到不需要的依赖项:

        <dependency>
            <groupId>...</groupId>
            <artifactId>...</artifactId>
            <version>..</version>
            <scope>provided</scope>
        </dependency>