我的应用程序使用许多属性文件来存储密码、URL 和其他应用程序数据。我想从源代码中抽象出这些文件的细节。这样做的最佳做法是什么?
我正在考虑在 Maven 中创建一个插件,该插件取决于应用程序部署到的环境,将从数据库中提取一组特定的属性,但这似乎需要做很多工作才能实现这一点。欢迎大家提出意见。主要目标是从代码库中删除敏感数据。
谢谢,
我的应用程序使用许多属性文件来存储密码、URL 和其他应用程序数据。我想从源代码中抽象出这些文件的细节。这样做的最佳做法是什么?
我正在考虑在 Maven 中创建一个插件,该插件取决于应用程序部署到的环境,将从数据库中提取一组特定的属性,但这似乎需要做很多工作才能实现这一点。欢迎大家提出意见。主要目标是从代码库中删除敏感数据。
谢谢,
我使用Maven 过滤和配置文件来执行此操作。在我的属性文件中,我只使用占位符,database.password=${database.password}
然后我在本地 Maven 设置中创建一个配置文件,其database.password
属性设置类似于
<profiles>
<profile>
<id>development</id>
<properties>
<database.password>MySuperSecretPassword</database.password>
</properties>
</profile>
<profiles>
所以当我运行mvn install -P development
它时,它会用我的密码交换占位符。您可以在此处找到更详细的示例,尽管他似乎将他的个人资料保存在 pom.xml 中,而不是他的本地 maven 设置文件中(可能是为了简单起见)