2015-11-06 44 views
0

我爲僅允許https/ssl訪問的maven artefacts設置存儲庫。當運行一個Maven構建我自然會得到這個異常:Maven:訪問自簽名存儲庫時出現SunCertPathException

 sun.security.validator.ValidatorException: 
    PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target 

在試圖解決這個問題,我下載我的倉庫的證書,並將其導入我的本地密鑰庫作爲信任位置。當我打印keystone的內容時,證書似乎已正確安裝。

我同時也重啓了我的電腦。應該有以前緩存中的任何內容。 當再次運行Maven構建時,我仍然會遇到以上安全異常。有沒有人知道這個問題會是什麼?

+0

你檢查是否已依據%JAVA_HOME%\ lib \ security中\ cacerts中安裝證書Maven使用的JVM? – aviad

+0

就是這樣。謝謝! – toobee

+0

然後我會將它作爲答案發布。隨時接受:) – aviad

回答

1

您需要確保證書安裝在maven使用的JVM的%JAVA_HOME%\lib\security\cacerts下。如果不存在,則需要導入它。

命令檢查是否已安裝證書:

keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts 

命令導入

keytool -import -noprompt -trustcacerts -alias <AliasName> -file <certificate> -keystore <KeystoreFile> -storepass <Password>