Apache Maven,是一個軟體(特別是Java軟體)項目管理及自動構建工具,由Apache軟體基金會所提供。基於項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。曾是Jakarta項目的子項目,現為獨立Apache項目。1.軟體下載http ...
Apache Maven,是一個軟體(特別是Java軟體)項目管理及自動構建工具,由Apache軟體基金會所提供。基於項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。曾是Jakarta項目的子項目,現為獨立Apache項目。
1.軟體下載
http://maven.apache.org/download.cgi
選擇紅顏色項
選擇maven-3 ---> 3.5.4 --->binaries-->apache-maven-3.5.4-bin.tar.gz
2.安裝
2.1[root@h201 ~]# tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
2.2
[root@h201 ~]# vi /etc/profile
添加
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
PATH後面 :$MAVEN_HOME/bin
[root@h201 ~]# reboot
2.3 測試
[root@h201 ~]# mvn -v
3.創建項目
3.1
mvn archetype:generate -DgroupId=com.sq -DartifactId=sq -DpackageName=sq
###版本2為create,版本3為generate 創建
註意:
第一次安裝時錯誤:
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom
原因:
我使用的是虛擬機,沒有連接外網,需要有外網換環境,自動下載相應包。
3.2 pom.xml
pom.xml文件的配置是整個Maven的核心重點,該文件用於管理:源代碼、配置文件、開發者的信息和角色、問題追蹤系統、組織信息、項目授權、項目的url、項目的依賴關係等。
[root@h201 ~]# cd /root/sq
[root@h201 sq]# cat pom.xml
<modelVersion> 模型版本
<groupId> 組織的唯一標誌
<artifactId> 本項目的唯一ID,一個groupId下麵可能多個項目,就是靠artifactId來區分的
<version> 本項目目前所處的版本號
<dependencies> 定義本項目的依賴關係
一般情況下,maven是通過groupId、artifactId、version這三個元素值(俗稱坐標)來檢索該構件, 然後引入你的工程。如果別人想引用你現在開發的這個項目(前提是已開發完畢併發布到了遠程倉庫),就需要在他的pom文件中新建一個dependency節點,將本項目的groupId、artifactId、version寫入, maven就會把你上傳的jar包下載到他的本地
3.3 本地庫
本地倉庫是遠程倉庫的一個緩衝和子集,當你構建Maven項目的時候,首先會從本地倉庫查找資源,如果沒有,那麼Maven會從遠程倉庫下載到你本地倉庫。
Maven預設的本地倉庫路徑為${user.home}/.m2/repository
[root@h201 ~]# ls -la .m2/repository/
3.4 測試(預設的App.java 腳本)
[root@h201 ~]# cd sq/src/main/java/sq/
[root@h201 sq]# /usr/jdk1.8.0_144/bin/javac App.java
[root@h201 sq]# cd ..
[root@h201 java]# /usr/jdk1.8.0_144/bin/java sq/App
Hello World!