Maven:不同配置文件的不同属性文件
我正在使用不同的maven配置文件将我的应用程序部署到不同的环境。 (使用weblogic-maven-plugin,但我认为这并不重要)
在应用程序中,我使用Spring Web Services。 现在我想根据环境更改端点。 (端点在Spring的applicationContext.xml中定义)
我的想法是从属性文件中读取值。 在Mavens包阶段,将写入(或复制)此属性文件。
这是一个好主意吗?
如果是:如何使用maven创建此属性(或整个文件)。
如果不是:什么是更好的方法来解决这个问题?
我实现了类似的东西,但是在pom.xml
中使用变量而不是在propreties文件中。 所以我的属性文件包含Maven在包装中会改变的变量。
首先,我在pom的profiles部分中定义了这些变量:
dev true true false value for dev profile prod false true value for prod profile
然后激活maven处理和资源过滤。 所以在你的构建部分:
src/main/resources true
最后,我可以在我的属性文件,配置文件中使用“vars”。 例如,在我的项目中,我有一个email.properties
文件,用于配置发送的电子邮件。 属性“sendEmail”表示我是否必须发送电子邮件(prod配置文件)或在debug(dev配置文件)中打印它。 使用dev配置文件时,此var将被置为false,而使用profile prod时,属性将具有true值。
sendEmail=${props.email}
这不仅适用于属性文件,也适用于XML(我想每个文本文件)
对比是:
- 部分配置分散在pom文件中
- Maven包装持续更多(因为过滤)
- 将vars放入XML文件会使它们语法错误(因为字符$)
- 使用Hibernate回调的优点?
- 如何在没有实际执行的情况下测试ThreadLocal是否已初始化?
- 使用Spring Security从MD5切换到BCrypt
- 使用Google电子表格进行OAuth2身份validation时出现问题
- 如何使用Maven的Central Repository部署我的开源项目?
- 列索引无效,使用PreparedStatement进行更新
- 如果我在配置类上使用@ActiveProfiles注释而不是在定义我的bean的类上使用它,那么在Spring中会发生什么?
- 如何将新的键值对放入DynamoDB中的地图中? (Java)的
- 在“耦合”JSliders中避免不必要的事件和无限循环?