如何在部署时排除属性文件

时间:2010-05-05 15:47:34

标签: deployment maven-2 jar

我希望在本地运行时包含此文件,但在部署时将其排除。我尝试了以下似乎不起作用。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
     <version>2.3</version>
     <executions>
       <execution>
     <phase>package</phase>
     <goals>
       <goal>jar</goal>
     </goals>
     <configuration>
       <excludes>
         <exclude>filename.properties</exclude>
       </excludes>
     </configuration>
      </execution>
    </executions>
 </plugin>

2 个答案:

答案 0 :(得分:0)

您应该将该属性文件放入src / test / resources,而不是单元测试等,但它不会被部署。

答案 1 :(得分:0)

  

我想在开发中使用此属性文件,但在生产中,我希望能够使用其他文件。

有几种方法可以实现这一目标,但这是配置文件(以及可选的过滤)的完美用例。

Building For Different Environments with Maven 2页面解释了如何管理不同的属性文件,并使用Maven Antrun插件根据所使用的配置文件选择“正确”的插件。

您可以在POM中的不同配置文件中将环境特定值声明为properties,而不是使用Antrun插件,并使用Maven过滤。有关完整示例,请参阅Using Maven profiles and resource filtering。如果你需要保护一些信息(你可以“隐藏”在~/.m2/settings.xml内的一个配置文件中),这个特别好。另请参阅Tips and Tricks以了解此情况。

或者,您可以将它们放在“过滤器文件”中,而不是将属性放在配置文件中,并根据配置文件应用正确的过滤器。这是上述解决方案的一点变化。有关示例,请参阅A Maven2 multi-environment filter setup