我有一个如下所示的属性文件
testdb.username=AA
testdb.password=AA
testdb.port=1521
testdb.host=localhost
现在,我想将所有这4个键值对作为maven命令中的env变量传递。
一种方法是将每个键值对放在如下所示的maven命令中
mvn clean package -Dtestdb.username=A -Dtestdb.password=AA ....
我想知道Maven中有什么方法可以将整个属性文件传递给Maven,并且Maven可以读取属性文件并将所有键值对动态设置为maven命令中的env变量。
答案 0 :(得分:2)
环境变量在Maven中的引用如下:
<properties>
<testdb.username>${env.ENV_USERNAME}</testdb.username>
<testdb.password>${env.ENV_PASSWORD}</testdb.password>
<testdb.port>${env.ENV_PORT}</testdb.port>
<testdb.host>${env.ENV_HOST}</testdb.host>
</properties>
但是,我认为您想要做的是这样的:
<properties>
<!-- Default values -->
<testdb.username>foo</testdb.username>
<testdb.password>AA</testdb.password>
<testdb.port>1521</testdb.port>
<testdb.host>localhost</testdb.host>
</properties>
...
${testdb.username}
mvn clean package -Dtestdb.username=$USERNAME -Dtestdb.password=$PASSWORD -Dtestdb.port=$PORT -dtestdb.host=$HOST
希望您发现此信息有用!