Copy/include 来自另一个 Maven 项目的资源

Copy/include resource from another maven project

让我向您解释一下我在寻找什么。

有一个项目 POM.xml 位于路径

project/ui/application/pom.xml. 

我通常使用 ui/applicatio.pom.xml.

构建我的 WAR 文件

在 UI 的 POM 中,我包含了几个模块,例如 "applicationDTO" 并且其 POM 位于路径

project/common/applicationDTO/pom.xml.

现在在 applicationDTO 项目中有一个文件 "ABC.properties",我想将其包含在我使用 UI 项目创建的 WAR 文件中。

简而言之,我想在 UI 的项目中包含 ABC.properties 文件。

以下是我尝试过的方法,但我收到类似

的错误消息
skip non existing resourceDirectory C:\Users\Desktop\project\ui\application\common\applicationDTO\QA

注意:项目是包含 UI 和 applicationDTO 项目的源文件夹。我希望通过 POM 将文件形式的 applicationDTO 文件夹复制到 UI 文件夹中。

如果我无法解释我的问题,请原谅。

你可以为此使用 maven 资源插件

https://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

您可能需要调整路径以使其正常工作

更新:

考虑到您的文件夹结构是

ABC 
-ui
  - application (build here)
    - pom.xml
    - classes
-common
  - ABC.properties

现在,当 运行 您的 maven 从应用程序文件夹构建时,下面可以是

部分
    <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>./classes</outputDirectory>
                <resources>
                    <resource>
                        <includes>
                            <include>ABC.properties</include>
                        </includes>
                        <directory>../../common</directory>
                        <filtering>true</filtering>
                    </resource>
                </resources>
                <delimiters>
                    <delimiter>@{*}</delimiter>
                </delimiters>
                <useDefaultDelimiters>false</useDefaultDelimiters>
            </configuration>
        </execution>
    </executions>
</plugin>