2010-09-23 39 views
5

这是一种将项目版本写入文件的简单过滤器方法。Maven过滤器资源并添加项目版本

<build> 
<resources> 
    <resource> 
    <directory>src/main/webapp</directory> 
    <includes> 
     <include>**/*.version</include> 
    </includes> 
    <filtering>true</filtering> 
    </resource> 
</resources> 
</build> 

这是项目结构(留出了unintresting部分)

├───src 
│ └───main 
│  ├───java 
│  │ └─── [...] 
│  └───webapp 
│   ├───META-INF 
│   └───WEB-INF 
│    ├───cfg 
│    └───portal.version 
└─── pom.xml 

portal.version

${project.version} 

此内容应与pom.xml的神器版本所取代,但不幸的是没有任何反应怎么了?预先感谢您

+0

我会给你超过一点,只是为了这个问题。通过maven文档浏览是一个地狱,通常会导致一个漫长而复杂的XML片段。这是清楚,快速和直接的。 – Dacav 2013-11-19 09:03:40

回答

4

当您指定资源元素时,结果过滤的内容将被复制到目标/类文件夹中。要过滤Web应用程序资源,您可以配置maven-war-plugin。

尽管要获取该版本,但在大多数情况下,最好在应用程序中读取标准Maven属性文件,例如META-INF\maven\<groupId>\<artifactId>\pom.properties

+0

谢谢,但我不想将maven紧密地绑定到我的应用程序。 – codevour 2010-09-26 09:21:50