我正在开发一个Web应用程序,它将部署在Dev,Test和Production等不同环境中。某些配置将特定于环境,因此我需要根据部署项目的环境更改属性文件中的配置。
我在机器中添加了环境变量,并使用方法
获得了它System.getEnv("环境&#34)
将返回值,例如dev,test和prod,并加载相应的属性文件(文件名为dev-config.properties,test-config.properties)。
我正在jBoss AS中实现PicketLink库,以将应用程序与SSO-SAML集成。其中一个配置是添加一个名为picketlink-idfed.xml的文件,其中我提到了IDP URL和应用程序URL。这两个URL对于环境都是不同的。我不能有像dev-picketlink-idfed.xml这样的不同文件名,所以我不能按照上面的方法使用不同的文件。
问题是我需要使用相同的文件picketlink-idfed.xml,只需添加占位符并将其替换为属性文件中的相应值即可。附上了picketlink-idfed.xml的示例内容。
<IdentityURL>https://idfed.test.com.au/adfs/ls/idpinitiatedsignon.aspx?LoginToRP=https%3A%2F%2Fapp.test.com.au%2Fdisplays%2FHome.action
</IdentityURL>
<ServiceURL>https://app.test.com.au/displays/Home.action
</ServiceURL>
在上面一行中,标签 IdentityURL 和 ServiceURL 的值将针对不同的环境进行更改。你能告诉我如何解决这个问题吗?
注意:暂时,我正在替换每个部署的内容,这不是一个好习惯。另外,我没有使用Maven或Ant构建文件。由于时间不够,我不能使用这些。