2013-08-06 48 views
6

我將我的應用程序打包爲jar。Maven:屬性文件旁邊的jar

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>...</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

而且我還有我的.properties文件放在src/main/resources裏面。我可以自由地將這個文件移動到任何其他地方。我不想將屬性文件包含到jar中,而是將它們並排放置到同一個輸出目錄(我們在jar中)。 Maven的最佳做法是什麼?

+1

的可能重複[如何排除來自jar文件poperties文件?(http://stackoverflow.com/questions/2728993/how-to-exclude-poperties-file-from-jar-file) –

回答

9

好的,可以使用的目標resources:copy-resources maven-resources插件。 我剛剛離開標準資源文件夾爲嵌入式(入罐)資源。對於外部資源,我創建另一個文件夾:src/main/external-resources。在這裏,我把我的.properties文件。

以下部分將在驗證階段將外部資源複製到輸出目錄。您可以根據自己的需要改變階段。

 <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-resources</id> 
        <phase>validate</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}</outputDirectory> 
         <resources> 
          <resource> 
           <directory>src/main/external-resources</directory> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

使用Jenkins構建相同的代碼時,爲什麼我們只能看到jar,而不是我們在Nexus中配置的目錄 –