2009-07-09 64 views
12

我有一個超級pom,其中爲資源指定了一個「resources」目錄。在我的一個項目中,我的pom擴展了這個超級pom,並且我想添加一個額外的資源。我想:向maven pom添加額外資源

<resources> 
     <resource> 
      <targetPath>/</targetPath> 
      <directory>additionalDir</directory>     
     </resource> 
    </resources> 

但導致 additionalDir在所述資源是與不包括超級POM的資源。有沒有辦法延長超級寶馬的資源?

回答

14

您所描述的行爲是預期的。

請記住,您的超級POM是從Maven的default POM繼承而來的,幾乎所有您在pom中定義的插件都會覆蓋默認POM中的設置。例如,要在默認資源上啓用篩選,您必須在POM中指定路徑。你這樣做:

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

不是這個:

<resources> 
    <resource> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

的默認目錄不能上升爲你,即使你沒有指定它。可能會有專門的MOJO爲你做,但我找不到。

+0

感謝您澄清。 – 2009-07-09 02:32:57

+0

我想知道,這是如何解決op的問題?你能讓它更清楚嗎?在哪裏應該做任何改變 – Jaskey 2017-08-17 03:32:13

0

是的,當重新定義新資源部分時,maven覆蓋父POM的資源。

但是,一個簡單的方法來增加資源是

  1. 從你的POM中取出資源部分
  2. 顯示了有效POM
  3. 複製從你的有效POM的資源到項目
  4. 用相對路徑替換絕對路徑
  5. 添加附加資源