Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在maven中继承构建选项?_Java_Maven - Fatal编程技术网

Java 如何在maven中继承构建选项?

Java 如何在maven中继承构建选项?,java,maven,Java,Maven,我有一个超级pom,带有: <resources> <resource> <filtering>true</filtering> <directory>(path to my project)\src\main\resources</directory> <includes> <include>**/application*.yml</include>

我有一个超级pom,带有:

<resources>
  <resource>
    <filtering>true</filtering>
    <directory>(path to my project)\src\main\resources</directory>
    <includes>
      <include>**/application*.yml</include>
      <include>**/application*.properties</include>
    </includes>
  </resource>
  <resource>
    <directory>(path to my project)\src\main\resources</directory>
    <excludes>
      <exclude>**/application*.yml</exclude>
      <exclude>**/application*.properties</exclude>
    </excludes>
  </resource>
</resources>

真的
(我的项目路径)\src\main\resources
**/应用程序*.yml
**/应用程序*.properties
(我的项目路径)\src\main\resources
**/应用程序*.yml
**/应用程序*.properties
情况是:

当我将下面的代码放入项目的pom中时,会自动覆盖超级pom配置:

<build>
    <resources>
        <resource>
            <filtering>true</filtering>
            <directory>my-project/src/main/resources</directory>
            <excludes>
                <exclude>*.yml</exclude>
            </excludes>
        </resource>
    </resources>
</build>

真的
我的项目/src/main/resources
*yml先生
如何将super pom配置和“concat”用于我的项目pom:

<resources>
  <resource>
    <filtering>true</filtering>
    <directory>(path to my project)\src\main\resources</directory>
    <includes>
      <include>**/application*.yml</include>
      <include>**/application*.properties</include>
    </includes>
  </resource>
  <resource>
    <directory>(path to my project)\src\main\resources</directory>
    <excludes>
      <exclude>**/application*.yml</exclude>
      <exclude>*.yml</exclude> <!-- my project pom config -->
      <exclude>**/application*.properties</exclude>
    </excludes>
  </resource>
</resources>

真的
(我的项目路径)\src\main\resources
**/应用程序*.yml
**/应用程序*.properties
(我的项目路径)\src\main\resources
**/应用程序*.yml
*yml先生
**/应用程序*.properties

当我学习Maven时,我也注意到子模块中定义的任何资源都优先于父POM中的资源。要让他们按所述访问“concat”,唯一的方法是在子级中重复父配置,然后像您所做的那样添加新选项。这是Maven 3.2,不确定更高版本是否有更好的处理方法,请参阅combine.children和相关属性。

当我学习Maven时,我也注意到子模块中定义的任何资源都优先于父POM中定义的资源。要让他们按所述访问“concat”,唯一的方法是在子级中重复父配置,然后像您所做的那样添加新选项。这是Maven 3.2,不确定更高版本是否有更好的处理方法,请参阅
combine.children
和相关属性。好的,我将复制配置。把你的评论作为回答,对我来说已经足够了。也许一个Maven开发者最终会启发我们两个。