在Spring配置文件中访问maven项目版本

Tau*_*ren 5 java spring maven-2 wicket maven

我想在页面中显示我当前运行的Web应用程序版本.该项目基于Maven,Spring和Wicket.

我想以某种方式获取maven的值${project.version}并在我的spring XML文件中使用它,类似于我使用Spring PropertyPlaceholderConfigurer读取属性文件以获取我在我的应用程序中使用的设置的方式.

如果我project.version在我的Spring配置中将maven 作为变量提供,我可以这样做:

<bean id="applicationBean" class="com.mysite.web.WicketApplication">
<property name="version"><value>${project.version}</value></property>
</bean>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Pas*_*ent 11

您可以按照建议使用Maven 过滤.

或者您可以pom.properties直接使用Spring在META-INF目录下读取由Maven创建的文件:

<util:properties id="pom" 
     location="classpath:META-INF/groupId/artifactId/pom.properties" />
Run Code Online (Sandbox Code Playgroud)

并使用豆.

后一种方法的唯一缺点pom.properties是在package阶段时间创建(并且在比较期间不会出现test).


dre*_*kka 7

一种技术是使用mavens过滤.您可以在资源文件中插入占位符,然后在资源阶段将其替换为构建中的值.

查找"如何过滤资源文件?" 在Maven入门指南