2017-06-05 75 views
0

我有一個Java應用程序構建在maven下。它包含兩個屬性文件 - application.default.properties和application.properties。第二個假設補充和/或覆蓋一些屬性。我也有同樣的src/main/resources目錄中的logback.xml文件。 我想在jar文件中保留日誌記錄和默認屬性,但將application.properies移動到樹的根目錄。我把下面的一塊到我的pom.xml選擇性複製maven資源

<resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <targetPath>${user.dir}</targetPath> 
      <filtering>false</filtering> 
      <includes> 
       <include>application.properties</include> 
      </includes> 
     </resource> 
    </resources> 

它確實複製application.properties文件如預期的構建部分,但其他兩個文件從jar文件就消失了。 有人可以告訴我我做錯了什麼,以及如何緩解這個問題。 P.S.我確實瀏覽過maven文檔,但在那裏找不到答案,所以請不要告訴我RTFM,但是如果有,請提供一個指向它的指針。

回答

1

你需要的是另一種<resource>節將包括application.default.propertieslogback.xml,區別對待。

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <targetPath>${user.dir}</targetPath> 
      <filtering>false</filtering> 
      <includes> 
       <include>application.properties</include> 
      </includes> 
     </resource> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>false</filtering> 
      <excludes> 
       <exclude>application.properties</exclude> 
      </excludes> 
     </resource> 
    </resources> 
</build> 

此副本application.properties${user.dir}和包一切從的src/main /資源否則到輸出罐子。

+0

謝謝。它像一個魅力。 –

0

您將不得不將所需的特定文件在根目錄下移動到另一個目錄。

你對包含模式所做的事情隱含地排除了其他文件。如果包含它們,它們也會被移動。