0

我有 2 个外部属性 security.properties 和 env.properties,我在 security.properties 中有一个密钥作为 key1,我想根据 env.properties key1 替换这个 key1 值

前任:

security.properties
hibernate.connection.url=jdbc:oracle:thin:@localhost:4521/NGI

env.properties
jdbc.url=jdbc:oracle:thin:@localhost:4521/NGI (it defers based on the environment)

我想根据加载的环境将 hibernate.connection.url 替换为 jdbc.url。

我尝试了以下选项,但出现构建失败错误

<configuration>
           <file>target/${project.artifactId}/security.properties</file>
           <replacements>
               <replacement>
                   <token>${hibernate.connection.url}</token>
                   <value>${jdbc.url}</value>
               </replacement>         
           </replacements>
       </configuration>

请分享你的建议

4

2 回答 2

1

我相信,您在 pom 中错过的是加载 env 属性。您需要使用Maven 属性插件加载该文件。

但是,每个人都想告诉您的是,将 env.properties 中的值保留在 pom.xml 中的不同配置文件中,并根据您的目标环境激活正确的配置文件。

于 2013-10-21T18:12:39.113 回答
0

将所有这些 URL 作为属性值保存在 pom.xml 而不是一堆“.properties”文件中怎么样?可以使用配置文件轻松更改和覆盖它们的值,并且可以在 Maven 构建的过滤资源复制阶段将它们替换为“.properties”文件。

于 2013-10-21T15:17:05.157 回答