intellij IDEA使用Windows憑證安裝套件、下載專案相關套件
前言
在較複雜的企業網路,通常會有一層代理轉介
常常讓專案的套件下載的非常不順利
詢問防火牆的管理人員,都跟你說沒有檔
但套件就是抓不下來!
最麻煩的是,intellij不會跟你說發生了什麼事
出現的錯誤訊息只會顯示在maven無法找到套件
但該套件明明就確實存在!而且在單純網路裡一切都能正常下載、執行專案
將intellij提示的錯誤訊息丟去Google,基本上永遠都找不到答案…
因為錯誤訊息跟實際問題點完全對應不上 = =
主因是缺少了憑證導致無法順利下載
而intellij什麼都做的很好
關於憑證這塊唯一UI設定只有accept non-trusted certificates automatically
不然就是要自己手動匯入…
大部份情況下勾選後,應該幾乎都能解
從參考資料的官方issue可以發現其實早在2018年就有人提出這問題了
但到了2021仍不見此功能,而官方似乎也不太想處理的樣子
打開IE看其企業憑證,可能不只一個,滿滿的一堆也不知哪些才是真正需要的…
最好的作法就是讓IDE直接去OS層抓憑證!
但intellij的settings
並沒有這種設定
只能透過手動增加JDK參數使其生效
作法
- 打開專案後,點開右側的gradle頁籤 ->
Tasks
->build
->build
- 打開BUILD,點右鍵 >
Modify Run Configuration
- 於
Arguments
貼上下列參數,存檔 (直接複製貼上就好,在intellij欄位裡會自動縮成一行) - refreash gradle,順利下載套件!
-Djavax.net.ssl.trustStore=cacerts
-Djavax.net.ssl.trustStorePassword=changeit
-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT
參考資料
intellij 官方issue / Add UI for managing client certificates in settings
intellij 官方issue / Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized)