我的应用程序使用许多属性文件来存储密码、URL 和其他应用程序数据。我想从源代码中提取这些文件的详细信息。这样做的最佳实践是什么?
我正在考虑在 Maven 中创建一个插件,根据应用程序部署到的环境,该插件将从数据库中提取一组特定的属性,但这似乎需要做很多工作才能实现这一点。欢迎大家提出意见。主要目标是从代码库中删除敏感数据。
谢谢
最佳答案
我使用Maven filtering和配置文件来执行此操作。在我的属性文件中,我只使用 database.password=${database.password}
等占位符,然后在本地 Maven 设置中创建一个具有 database.password
属性的配置文件设置类似于
<profiles>
<profile>
<id>development</id>
<properties>
<database.password>MySuperSecretPassword</database.password>
</properties>
</profile>
<profiles>
因此,当我运行 mvn install -Pdevelopment
时,它会将占位符与我的密码交换。
您可以找到更多detailed example here ,尽管看起来他将自己的配置文件保存在 pom.xml 中,而不是本地 Maven 设置文件中(可能是为了简单起见)
关于java - 如何隐藏和抽象Java属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15624282/