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

标签 java maven jar maven-jar-plugin meta-inf

我正在使用 Maven 构建一个 Java 项目,我有几个文件,CHANGELOGLICENSE,我想将它们复制到JAR 文件中的 META-INF 目录。

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

<build>
    <resources>
        <resource>
            <directory>${project.basedir}</directory>
            <includes>
                <include>CHANGELOG</include>
                <include>LICENSE</include>
            </includes>
            <targetPath>META-INF</targetPath>
        </resource>
    </resources>
    <plugins>
        ...

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

所以我希望这些文件包含在 JAR 文件中,而不是其他任何地方。有办法做到这一点吗?

最佳答案

您无需指定任何自定义 Maven 配置来满足您的需求。

src/main/resources ,只需创建一个 META-INF文件夹并将文件放在这里。
这样,你就可以在 META-INF 中找到它们了。构建的 JAR 的文件夹。

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

关于java - Maven:在 JAR 的 META-INF 中包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833373/

相关文章:

java - 删除 Firebase 数据库的值后应用程序崩溃

java - 绝对uri : http://java. sun.com/jsp/jSTL/core无法解析

java - 在 Spring Boot 项目上创建名称为 'entityManagerFactory' 的 bean 时出错

java - (Java)当代码包含UTF-8字符时如何在命令行中创建JAR文件

java - 使用外部类路径运行可执行 JAR

java - 使用 Java ProcessBuilder 运行 Jar 会产生空输出

Java字符串: Checking for consecutive letters or numbers

java - Android 从数组中随机动态改变背景

java - PIG Custom loader 的 getNext() 被一次又一次地调用

java - Google App Engine 在没有 maven 的情况下添加模块