我試圖加密我的settings.xml中的服務器密碼,並且在嘗試部署工件時收到此異常。Maven密碼加密BadPaddingException
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:313)
at javax.crypto.Cipher.doFinal(Cipher.java:2087)
at org.sonatype.plexus.components.cipher.PBECipher.decrypt64(PBECipher.java:185)
... 18 more
這裏是從XML
<server>
<id>server</id>
<username>username</username>
<password>{N8AF8BmQ5x8HZX/yrlrP1QiKNMEdoXWyBFZd/*zIabY=}</password>
</server>
相同的異常也發生了我的主密碼的摘錄,我只是按照說明這裏 https://maven.apache.org/guides/mini/guide-encryption.html 創造了一個安全的settings.xml像指導,執行這兩個命令並將加密密碼複製到適當的xml文件中。
mvn --encrypt-master-password <password>
mvn --encrypt-password <password>
在極少數情況下有一個逃跑問題,不知道這是否發生在這裏。考慮重新生成emp和ep(它們的值每次都會有所不同) –
我假定emp和ep表示主服務器和服務器密碼? – gary69
-emp = --encrypt-master-password,-ep = --encrypt -password(請參閱mvn -h或mvn --help :)) –