java - 将 Maven Artifact 版本配置为 Spring 属性

标签 java xml spring maven

我正在尝试配置 Spring bean 的属性以显示 Maven 构件的版本。我需要在加载 bean 时(而不是在运行时)配置该属性。

applicationContext.xml:

<bean id="myBean" class="com.domain.ClassName">
    <property name="version" value="${???????}" />
</bean>

com.domain.ClassName:

private String version;

public String getVersion() {
    return version;
}


public void setVersion(String version) {
    this.version = version;
}

有没有办法做到这一点?更一般地说,是否有一种简单的方法可以从 Spring xml 上的 POM xml 访问属性?

谢谢

最佳答案

你应该看看 maven 资源插件。 看 : http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

基本上这个想法是,在构建您的应用程序时,您将过滤一些项目文件以用您想要的内容替换一些文本(在您的情况下,您希望将 pom.xml 中声明的版本放入您的 spring.xml )

这里的关键是要理解,在构建时,maven 将在运行时使用的 spring 配置文件中进行一些替换。

关于java - 将 Maven Artifact 版本配置为 Spring 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29168222/

相关文章:

c# - 为什么连字符 (–) 会触发非法 XML 字符错误(C#/SSMS)?

java - 什么是 AbstractTestNGSpringContextTests

Spring集成http在获取请求中禁用多部分

java - 如何在java中检查MySql访问

Java校验和方法

JavaFX:如何使 VBox 及其内容随着窗口高度无限扩展,就像宽度一样?

xml - 使用 dtd 时 clojure xml 解析缓慢

xml - xpath 从 child 那里获得值(value)

spring - 通过 Maven 将简单的 Spring Hibernate 实用程序项目部署到 Tomcat

java - 是否可以让 Spring ApplicationListener 监听 2 种或更多类型的事件?