How to pass Maven settings via environmental vars
Yes, you can do this in two ways:
- passing properties in command line, using variables. For example, you can use in your
settings.xml
something like this:
<servers>
<server>
<id>deploymentRepo</id>
<username>${server.username}</username>
<password>${server.password}</password>
</server>
</servers>
And in command line, pass these variables in this way:
mvn clean package -Dserver.username=yourusername -Dserver.password=yourpassword
- exporting environments properties. For example, if you export (in linux, something like
export SERVER_USERNAME=yourusername
)SERVER_USERNAME
andSERVER_PASSWORD
variables, you can use like this:
<servers>
<server>
<id>deploymentRepo</id>
<username>${env.SERVER_USERNAME}</username>
<password>${env.SERVER_PASSWORD}</password>
</server>
</servers>
For more information about propeties, see the reference documentation.