首页 > 解决方案 > 如何使用 maven-jar-plugin 从自定义 jar 文件中排除 META-INF 文件夹

问题描述

我想创建一个名为 images.jar 的 jar 文件,它只包含从工作目录中的 /images/ 文件夹中获取的 png 图像。

我尝试了以下方法:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
            <configuration>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                </archive>
                <classifier>images</classifier>
                <classesDirectory>${project.basedir}/image</classesDirectory>
                <includes>**/*</includes>
            </configuration>
        </execution>
    </executions>
</plugin>

但这将创建包含所有图像的 jar 文件和包含 MANIFEST.MF 文件的 META-INF 文件夹。

我发现下面的行

<addMavenDescriptor>false</addMavenDescriptor>

用于排除 META-INF/maven 文件夹。

它确实排除了 META-INF 中的 pom 和属性文件,但不排除 MANIFEST.MF 文件。

正确的做法应该是什么?

标签: javamavenpluginsjar

解决方案


推荐阅读