Maven:在JAR的META-INF中包含文件

Jul*_*ano 4 java jar meta-inf maven maven-jar-plugin

我正在使用Maven构建一个Java项目,我有几个文件,CHANGELOG并且LICENSE我想要复制到META-INFJAR文件中的目录.

到目前为止,我所做的工作如下:

<build>
    <resources>
        <resource>
            <directory>${project.basedir}</directory>
            <includes>
                <include>CHANGELOG</include>
                <include>LICENSE</include>
            </includes>
            <targetPath>META-INF</targetPath>
        </resource>
    </resources>
    <plugins>
        ...
Run Code Online (Sandbox Code Playgroud)

但是classes/META-INF在编译时也会将这两个文件复制到目录中.

所以我希望文件包含在JAR文件中,但不管怎样.有没有办法做到这一点?

dav*_*xxx 6

您无需指定任何自定义maven配置即可满足您的需求.
src/main/resources,只创建一个META-INF文件夹并将文件放在这里.
通过这种方式,您可以META-INF在构建的JAR 的文件夹中找到它们.

此外,您应该删除<resource>您添加的 元素,pom.xml因为它将默认资源文件夹更改为项目的根目录而不是默认值src/main/resources.