使用maven复制位于项目根目录的资源文件

ant*_*rva 1 xml eclipse m2eclipse maven

所以,我的 pom.xml 具有以下内容:

    <build>
        <resources>
            <resource>
                <directory>.</directory>
                <excludes>
                    <exclude>.settings/</exclude>
                    <exclude>src/</exclude>
                    <exclude>target/</exclude>
                    <exclude>.classpath</exclude>
                    <exclude>.gitignore</exclude>
                    <exclude>.project</exclude>
                    <exclude>logging.log</exclude>
                    <exclude>mvn_cmd.bat</exclude>
                    <exclude>pom.xml</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
       ...
Run Code Online (Sandbox Code Playgroud)

我的目标是复制config.properties位于项目根目录的单个文件(例如),并在使用Maven > UpdateEclipse 时将其复制到目标/类中。到目前为止,我发现解决此问题的唯一方法是手动从我的${basedir}目录中排除所有文件。

我相信这可以使用 maven 本机命令直接相当轻松地完成,但我也需要使用m2eclipse来完成此操作。

我认为最好的方法是使用正则表达式来排除除 my 之外的所有内容config.properties,但我不知道 Maven 是否具有这种功能。

use*_*849 5

尝试使用包含而不是排除,并注意该目录是项目的根目录,如下所示:

<resources>
    <resource>
        <directory>${project.basedir}</directory>
        <includes>
            <include>config.properties</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
<resources>
Run Code Online (Sandbox Code Playgroud)

  • 可能是,我确实看到 Eclipse 和 Maven 有时不能很好地协同工作。我通常会确保 Maven 在命令行上工作,因为这样 Jenkins/你的 CI 系统通常也会工作。您可以确保您拥有 m2e 的更新版本。 (2认同)