首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Maven:在JAR的META-INF中包含文件

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

Stack Overflow用户
提问于 2016-08-08 23:39:41
回答 3查看 17.2K关注 0票数 10

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

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

代码语言:javascript
运行
复制
<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文件中,而不是其他地方。有没有办法做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2016-08-09 03:11:37

您不需要指定任何自定义maven配置来满足您的需求。

src/main/resources中,只需创建一个META-INF文件夹并将文件放在此处即可。

这样,您就可以在构建的JAR的META-INF文件夹中找到它们。

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

票数 11
EN

Stack Overflow用户

发布于 2019-11-28 05:12:19

如果想要将文件和目录添加到META-INF文件夹中,请在pom.xml中使用以下代码

代码语言:javascript
运行
复制
   <build>
        <finalName>CustomJsfComponents</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**.xml</include>
                    <include>**resources/**</include>
                </includes>
                <targetPath>META-INF</targetPath>
            </resource>
        </resources>
    </build>
票数 0
EN

Stack Overflow用户

发布于 2021-01-05 15:38:24

通过添加webResources修改您的pom

代码语言:javascript
运行
复制
<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
                <webResources>
                    <resource>
                        <directory>target/classes/META-INF/</directory>
                        <includes>
                            <include>*.*</include>
                        </includes>
                        <targetPath>META-INF/</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

考虑要在以下位置找到的config.properties文件

代码语言:javascript
运行
复制
src / main / resources / META-INF / config.properties

War示例输出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38833373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档