【问题标题】:How to reuse Maven configuration XML fragments in other configurations如何在其他配置中重用 Maven 配置 XML 片段
【发布时间】:2021-02-17 14:49:28
【问题描述】:

我有几十个相似但不相同的插件执行配置。我想重复使用其中的一部分。

我想重复使用的部分可能如下所示:

<reuseMe>
  <lotsOfXML/>
</reuseMe>

现在,一些插件配置可能不包含上述内容:

<configuration>
  <simpleStuff/>
</configuration>

但其他插件配置可能:

<configuration>
  <simpleStuff/>
  <complexStuff>
    <reuseMe>
      <lotsOfXML/>
    </reuseMe>
  </complexStuff>
</configuration>

我想要一些机制,我可以声明可重用的 XML 片段,然后只是“导入”它们,而不是复制粘贴该片段:

<configuration>
  <simpleStuff/>
  <complexStuff>
    <reuseMe import="whatever"/>
  </complexStuff>
</configuration>

在预处理步骤中缺少 XSL 转换我的 pom.xml 文件,是否有任何开箱即用的方式可以用 vanilla Maven 完成?使用&lt;pluginManagement/&gt; 似乎不起作用,因为这会将所有插件执行的&lt;reuseMe/&gt; 内容定义为默认值,而不仅仅是那些需要它的人。

【问题讨论】:

  • 不完美,但您可以使用stackoverflow.com/questions/16540808/…中描述的方法
  • @sparty02:不,我不这么认为。这获取了完整的插件执行配置,但我只想复制 XML 片段。
  • 配置的一般部分可以/应该放入(&lt;plugin&gt;..&lt;configuration&gt;..&lt;/configuration&gt;&lt;/plugin&gt;)之间的适当父级中,专用部分应放入与&lt;executions&gt;&lt;executions&gt;相关的适当模块中,此外,您可以使用事情&lt;items combine.children="append"&gt;...见maven.apache.org/pom.html或者你可以通过&lt;configuration combine.childre="override"&gt;覆盖配置...默认是&lt;configuration combine.childre="merge"&gt;....真正导入是不可能的...

标签: java xml maven


【解决方案1】:

有一个 JIRA 可以满足您的要求:https://issues.apache.org/jira/browse/MNG-5102

开业快 10 年了,仍未解决。

据我所知,唯一开箱即用的 Maven 方法涉及plugin executions

否则,它是你自己的。

附:不是 Maven 提交者;也许他们中的一个会看到这一点,我们今天都会学到一些东西。

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 2010-10-16
    • 2011-04-22
    • 1970-01-01
    • 2010-10-03
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多