Maven主要服務於基於Java平臺的項目構建、依賴管理和項目信息管理java
除了編寫源代碼,咱們天天有至關一部分時間花在了編譯、運行單元測試、生成文檔、打包和部署等煩瑣且不起眼的工做上,這就是構建。apache
執行以下命令,檢查JDK的安裝狀況服務器
echo %JAVA_HOME%框架
java -versionjvm
(1)去官網下載maven,解壓,maven
(2)而後設置環境變量(建議設置用戶環境變量)ide
M2_HOME=C:\dev-env\Maven\apache-maven-3.5.4 PATH=%M2_HOME%\bin
(3)驗證單元測試
echo %M2_HOME%測試
mvn -vspa
目錄 | 分析 |
---|---|
bin | (1)該目錄包含了mvn運行的腳本,(2)這些腳本用來配置Java命令,準備好classpath和相關的Java系統屬性,而後執行Java命令。 |
boot | 包含一個類加載器框架:plexus-classworlds-2.5.2.jar |
conf | (1)包含一個全局配置文件 settings.xml ,(2)通常狀況下,推薦將該文件複製到 ~/.m2/ 目錄下,而後修改該文件,在用戶範圍定製Maven的行爲。 |
lib | 包含全部maven運行時須要的Java類庫 |
若想使Maven經過代理服務器來下載jar包,則須要爲Maven配置HTTP代理
telnet ip 端口
若是telnet鏈接正確,則輸入ctrl+],而後q,回車,退出便可。
檢查完畢以後,編輯 ~/.m2/settings.xml
文件(若是沒有該文件,則複製 $M2_HOME/conf/settings.xml
)。
添加代理配置以下:
<settings > ... <proxies> <proxy> <id>my-proxy</id> <active>true</active> <protocol>http</protocol> <host>192.168.12.107</host> <port>3128</port> <!-- <username>proxyuser</username> <password>proxypass</password> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> --> </proxy> </proxies> ... </settings>
- 當代理服務須要認證時,就須要配置username和password。
- nonProxyHost元素用來指定哪些主機名不須要代理,可使用「|」符號來分隔多個主機名。且可以使用通配符 *
運行mvn命令其實是執行了Java命令,經過 MAVEN_OPTS 可設置 jvm參數。
一般須要設置MAVEN_OPTS的值爲-Xms128m-Xmx512m,
由於Java默認的最大可用內存每每不可以知足Maven運行的須要,好比在項目較大時,使用Maven生成項目站點須要佔用大量的內存,若是沒有該配置,則很容易獲得java.lang.OutOfMemeoryError。所以,一開始就配置該變量是推薦的作法。
配置文件 | 適用範圍 | 描述 |
---|---|---|
$M2_HOME/conf/settings.xml | 全局範圍 | 整臺機器上的全部用戶都會直接受到該配置的影響 |
~/.m2/settings.xml | 用戶範圍 | 只有當前用戶纔會受到該配置的影響 |
推薦使用用戶範圍的settings.xml,主要是:
- 避免無心識地影響到系統中的其餘用戶
- 方便Maven版本升級
緣由:
- 版本新,可能不穩定
- 與命令行的maven不一致
所以,應該在IDE中配置Maven插件時使用與命令行一致的Maven。