java - 如何使用 Maven 将资源复制到 src 目标目录?

标签 java maven resources copy

我目前正在处理一个现有项目,该项目有一个包含以下内容的 pom.xml 文件:

<resources>
    <resource>
        <filtering>false</filtering>
        <directory>src</directory>
        <includes>
            <include>**/*.properties</include>
        </includes>
    </resource>
</resources>

我在基本路径中有一个名为 properties 的目录,其中包含属性文件。我想在打包时复制我的 src 目录中 properties/下包含的所有属性文件(否则程序会由于缺少配置文件而崩溃)。

所以我的问题是:

我如何使用 Maven 包含不在 src 目录下的资源文件?

我尝试了这个,但它似乎不起作用:

<resources>
    <resource>
        <filtering>false</filtering>
        <directory>src</directory>
        <includes>
            <include>**/*.properties</include>
            <include>../properties/**</include>
        </includes>
    </resource>
</resources>

感谢您的帮助。

最佳答案

如果你的文件结构是这样的: Standard Directory Layout

enter image description here

那么你不必添加资源元素。 Maven 默认将位于您的/src/main/resources 文件夹中的所有文件和文件夹复制到您的构建文件夹,并将它们定位在您编译的类路径文件的根目录中。
例如,如果您在 /src/main/resources/configuration.properties 中有一个名为 configuration.properties 的文件,那么在运行 mvn clean compile 时该文件将被复制到您的 /target/classes/configuration.properties 因此,如果您删除该部分,文件将位于您想要的位置

<resource>
    <filtering>false</filtering>
    <directory>src</directory>
    <includes>
        <include>**/*.properties</include>
    </includes>
</resource>

关于java - 如何使用 Maven 将资源复制到 src 目标目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23289098/

相关文章:

java - 有什么方法可以测试两个 jobject 是否来自同一个类(class)?

java - 如何提高 RabbitMQ 发送/接收速度

java - 添加了 Maven 依赖项,Eclipse 看不到它

java - 如何从java项目的resource/images文件夹加载图像?

java - ThreadPoolExecutor 在线程死亡时进行清理

java - 如果在 Java 中的局部变量范围之外使用,列表将显示为 null

java - 是否有支持 SQL 语法的 Swing 组件?

java - Maven 资源编译器 : Failed to copy in ubuntu 18. 04

android - SlidingDrawer 句柄的可绘制对象在哪里定义?

wpf - 通过绑定(bind) -WPF 从资源中显示图像