Maven settings.xml masking password

    Masking Passwords in Maven Settings.xml

    As part of your development process, you have to provide the repository information in a settings.xml.  Along with the repository information, you are required to provide the user name and the password.


    The repository server name and user name if in clear text pose no security dangers. But the clear text password can be dangerous if some one peeks at your settings.xml while you left your computer unlocked for a 5 mins coffee break.



    Maven Password Encryption



    Let us assume you have multiple repositories for which you have different passwords. Irrespective of how many passwords you have, you need to create a master password.


    1. Create a master password and encrypt it.
    2. Create a ~/.m2/settings-security.xml file
    3. Encrypt your password

    Step 1:  Create a master password and encrypt it


    $> mvn --encrypt-master-password  somemasterpassword



    Please remember to change "somemasterpassword" to whatever master password you want to remember

    Step 2: Create a  ~/.m2/settings-security.xml file


    Transfer the encrypted master password into this file.




    Step 3: Encrypt your repository password. You can encrypt as many passwords as you please.



    mvn --encrypt-password  mysweetlittlepassword


    Now you can use this encrypted password as your server password instead of the clear text password.