2017-02-10 5 views
0

(私は何年もの間にMavenで働いてきた私は一種の私は今、この問題が発生してきたと信じてすることはできません。。)リソーススタンザをスーパーPOMのものとマージできますか?

スーパーPOMはこのようにその<resources>スタンザを定義しています

<resources> 
    <resource> 
    <directory>${project.basedir}/src/main/resources</directory> 
    </resource> 
</resources> 

私はこのような私のpom.xml<resources>スタンザを持っている:

<resources> 
    <resource> 
    <directory>${project.basedir}</directory> 
    <includes> 
     <include>LICENSE</include> 
    </includes> 
    <targetPath> 
    </resource> 
</resource> 

私はmvn help:effective-pomを実行すると、私はMavenのスーパーPOMの(役立つ)を排除したことがわかります<resources>スタンザはそれを私のものに置き換えました。

代わりに、私の<resources>スタンザの内容をスーパーPOMによって提供されるものに追加したいと思います。

<resources>要素は、この現象が発生する原因となる(プラス私はan article on the subjectを読んだけれども、私は、これらの名前を示すことになっているものは考えている)の上に置かれcombine.childrenまたはcombine.self属性のいずれかのない組み合わせ。

明らかなものは何ですか?

答えて

1

combine.childrencombine.selfのような魔法の属性は、プラグインの設定にのみ適用されます。 pom自体はpojosのセットに変換されますが、プラグインの設定はXML-DOMです。 xpp3の機能では、マージ戦略を定義できます。 はい、AFAIKリソースは常に上書きされ、拡張されることはありません。リソースには一意の識別子がないため、マージ、オーバーライド、または拡張するリソースブロックを検出することはできません。

関連する問題