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

6yoyoihd  于 2023-11-17  发布在  Maven
关注(0)|答案(3)|浏览(199)

我目前正在处理一个现有的项目,该项目有一个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>


谢谢你的帮助。

l2osamch

l2osamch1#

如果你的文件结构是这样的:Standard Directory Layout
x1c 0d1x的数据
然后你就不必添加资源elemt了。Maven会默认将位于/src/main/resources文件夹中的所有文件和文件夹复制到你的build文件夹中,并将它们定位在编译后的类路径文件的根目录中。
例如,如果您有一个名为configuration.properties的文件位于/src/main/resources/configuration.properties中,那么在运行mvn clean compile时,此文件将被复制到您的/target/classes/configuration.properties中。因此,如果您删除了该部分,则文件将位于您想要的位置。

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

字符串

hfyxw5xn

hfyxw5xn2#

通过将项目从ant迁移到maven而不改变项目结构,在构建中设置您的sourceDirectory testSourceDirectory,并使用maven-resource-plugin,如下所示,在执行目标的哪个阶段要小心。

<plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <id>copy-resources01</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/classes</outputDirectory>
                        <encoding>UTF-8</encoding>
                        <resources>
                            <resource>
                                <directory>${basedir}/src</directory>
                                <includes>
                                    <include>**/*.properties</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
                <execution>
                    <id>copy-resources02</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/build/lib</outputDirectory>
                        <encoding>UTF-8</encoding>
                        <resources>
                            <resource>
                                <directory>${basedir}/target/</directory>
                                <include>*.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

字符串

9lowa7mx

9lowa7mx3#

为了将所有内容从源复制到目的地,我使用了以下命令:

<plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/classes/static/</outputDirectory>
                        <resources>
                            <resource>
                                <directory>${basedir}/gui/build/</directory>
                                <includes>
                                    <include>**/*.*</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

字符串

相关问题