我们有一个包含数据库访问凭据的属性文件(例如db.properties
)。例如:使用蚂蚁处理定制财产
db.jdbc.user=johndoe
db.jdbc.password=topsecret
我们有很多读取此文件并执行各种任务的ant脚本。例如:
<!--Initialize the environment-->
<target name="environment">
<!--Read database connection properties-->
<property file="$../db.properties"/>
...
</target>
<target name="dbping"
description="Test the database connectivity with the current settings."
depends="environment">
...
<sql driver="oracle.jdbc.OracleDriver"
url="${db.jdbc.url}"
userid="${db.jdbc.user}"
password="${db.jdbc.password}"
classpathref="classpath.jdbc"
print="true"
showheaders="false">
SELECT 'JDBC connect: successful!' FROM dual;
</sql>
...
</target>
现在客户想要的是,在db.properties密码是通过使用一个.jar文件中提供了加密的lib,如加密:
db.jdbc.user=johndoe
db.jdbc.password.encrypted=true
db.jdbc.password=018Dal0AdnE=|ySHZl0FsnYOvM+114Q1hNA==
我们希望是什么通过对大量蚂蚁文件进行最小限度的修改来实现解密。我听说Ant 1.8
的房地产处理增强,但我们使用Ant 1.7.1
。
什么是最好的解决方案 - 自定义任务,一些魔术与PropertyHelper
实例,还有其他什么?
在此先感谢您的提示。
请参阅此答案类似的方法:http://stackoverflow.com/questions/7503630/where-do-i-put-my-credentials-when-using-ivy-and-a-private-company-repository/7505364# 7505364 –