加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Maven:从JAR中排除“META-INF / maven”文件夹

发布时间:2020-12-15 04:40:55 所属栏目:Java 来源:网络整理
导读:我使用 Maven 来构建JAR.当我检查JAR时,我在META-INF文件夹中看到了一个maven文件夹.我希望它从构建中排除.我在pom.xml中的当前构建代码如下所示: build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-jar-plugin/artifactId co
我使用 Maven来构建JAR.当我检查JAR时,我在META-INF文件夹中看到了一个maven文件夹.我希望它从构建中排除.我在pom.xml中的当前构建代码如下所示:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>Libraries</classpathPrefix>
                        <mainClass>com.company.Main</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Built-By>Me</Built-By>
                    </manifestEntries>
                </archive>
                <!-- <excludes>
                    <exclude>META-INF/maven/**</exclude>
                </excludes> -->
            </configuration>
        </plugin>
        <!-- ...more plugins... -->
    </plugins>
</build>

我读到使用排除标记允许您排除某些内容,但它不起作用.也许这只是指本地文件/文件夹? maven文件夹不是源代码的一部分,它只是由Maven添加的.

This回答有点工作但是使用了不同的工件,因此当我将它粘贴到我的pom.xml中时会生成第二个JAR.我想使用我当前的构建代码并排除maven文件夹,如上所述.如何使用maven构建规则完成?

解决方法

maven-jar-plugin使用maven-archiver来处理包装.它提供配置addMavenDescriptor,默认情况下为true.将其设置为false应删除META-INF / maven目录.

...
<archive>
   <addMavenDescriptor>false</addMavenDescriptor>
   ....
</archive>

你可以找到参考here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读