沒有外網,IDEA如何離線使用maven倉庫?

我們開發涉密項目的時,需要在內網的環境下調試程序,這時候一個比較頭疼的問題是無法下載相關的maven依賴,導致項目無法編譯啓動。怎麼解決這個問題呢?
??

第一步,將相關的maven依賴在外網的環境中下載好,然後將整個repository打包後拷貝到內網的機器上並解壓:
repo

第二步,將maven的配置文件settings.xml拷貝一份出來,在localRepository中配置本地倉庫的地址。例如我剛纔拷貝出來的倉庫放在D:/repository下,然後配置下本地的鏡像,本地倉庫的地址一定要配置正確。

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>D:/repository</localRepository>

  <mirrors>

	 <mirror>
            <id>central</id>
            <name>central</name>
            <!-- 將鏡像地址設置爲本地maven地址 -->
            <url>file://D:/repository</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
  </mirrors>
</settings>

第三步,打開IDEA的maven設置:file->settings搜索maven。注意要將maven設置爲Work offline(離線模式),然後將User settings file配置成上一步拷貝的settings.xml的地址,點擊OK。
offline

這個時候就已經完成maven的離線配置了。如果還不行可以刷新一下maven的依賴,點擊reimport,然後依賴就可以導入進來了。如果還是紅色的線,可以嘗試點擊啓動項目,看是不是報錯,有的時候可能是沒有及時刷新導致的。

另外分享一個maven離線打包的命令:mvn -o,此命令是在maven打包的時候不去下載倉庫的依賴,非常有用。

mvn clean package -o -DskipTest
// 或者使用這種方式跳過測試
mvn clean package -o -Dmaven.test.skip=true

多總結,常積累,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章