2013-08-06 47 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中配置的目录 –