您好,登錄后才能下訂單哦!
這篇文章給大家分享的是安裝部署Maven的方法,相信大部分人都還沒學會怎么部署,為了讓大家學會,給大家總結了以下內(nèi)容,話不多說,一起往下看吧。
1)配置jdk環(huán)境
[root@maven ~]# rpm -qa | grep jdk //查詢本機默認JDK環(huán)境
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
copy-jdk-configs-3.3-2.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
[root@maven ~]# yum -y remove java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
[root@maven ~]# yum -y remove java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
//將原本的jdk-headless包卸載
[root@maven ~]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local //將提供的JDK軟件包進行解壓
[root@maven ~]# vim /etc/profile //編寫系統(tǒng)環(huán)境變量,在末尾添加以下內(nèi)容
export JAVA_HOME=/usr/local/jdk1.8.0_211 //指定Java安裝路徑
export JRE_HOME=/usr/local/jdk1.8.0_211/jre //Java運行環(huán)境
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar //聲明Java中的類,類就是一類事務的屬性
export PATH=$JAVA_HOME/bin/:$JRE_HOME/bin/:$PATH //將定義的變量添加到系統(tǒng)環(huán)境變量中
[root@maven ~]# source /etc/profile //重新加載系統(tǒng)環(huán)境變量文件
[root@maven ~]#java -version //查詢支持的Java版本信息
java version "1.8.0_211" //符合要求
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
[root@maven ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
#可直接使用網(wǎng)盤中的apache-maven-3.6.1-bin.tar.gz
[root@maven ~]# tar zxf apache-maven-3.6.3-bin.tar.gz -C /usr/src
[root@maven ~]# mv /usr/src/apache-maven-3.6.3/ /usr/local/maven
[root@maven ~]# vim /etc/profile #添加以下內(nèi)容
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@maven ~]# source /etc/profile
[root@maven ~]# mvn -v #出現(xiàn)下面內(nèi)容就部署成功了(因為這是二進制的方式部署)
Apache Maven 3.6.3 (cecedd343002696d0abb0b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_211/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
由于使用maven官網(wǎng)的地址。下載較慢,所以直接更改為阿里云提供的maven倉庫地址!
[root@maven ~]# vim /usr/local/maven/conf/settings.xml
#定位到158行,填寫一下內(nèi)容
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors> #必須寫在這個標簽里面
#mirror就是鏡像,主要提供一個方便地切換遠程倉庫地址的途徑
#<mirrorOf>central</mirrorOf>里是要替代的倉庫的id。代理原有倉庫,如果填寫*表示替換所有倉庫
[root@maven ~]# mkdir /tmp/testdir
[root@maven ~]# cd /tmp/testdir/
#執(zhí)行下面命令進行測試
[root@maven testdir]# mvn archetype:generate -DgroupId=com.lzj.maven.quickstart -DartifactIdk=testapp -DarchetypeArtifactId=maven-archetype-quickstart
#創(chuàng)建一個maven項目(Java類型),可加-DinteractiveMode=false取消交互過程
...........................#省略部分內(nèi)容
Define value for property 'artifactId': testapp #需手動指定項目名稱,可自定義,接下來保持默認即可!
[INFO] BUILD SUCCESS #當出現(xiàn)這行提示信息,則表示構建成功
#上述命令解釋如下:
# archetype:generate:創(chuàng)建一個簡單的java項目;
# archetype 也就是原型,是一個 Maven 插件,準確說是一個項目模板,它的任務是根據(jù)模板創(chuàng)建一個項目結構。
#使用 quickstart 原型插件創(chuàng)建一個簡單的 java 應用程序
# -DgroupId:組織名,公司網(wǎng)址的反寫(反向域名)+項目名稱;
# -DartifactIdk:項目名或者模塊名;
# - DarchetypeArtifactId:指定 ArchetypeId,maven-archetype-quickstart,創(chuàng)建一個簡單的 Java 應用;
# -DinteractiveMode: 是否使用交互模式。
當前目錄生成的內(nèi)容:
[root@maven testdir]# ls #上述命令執(zhí)行成功后,會在當前目錄下生成以項目名稱命名的目錄
testapp
[root@maven testdir]# cd testapp/ #進入生成的目錄
[root@maven testapp]# ls #查看目錄下生成的文件
pom.xml src
[root@maven testapp]# cat pom.xml #pom文件參數(shù)解釋
project: 根,這是對Project添加一些根元素的約束信息
modelversion:指定當前maven模型的版本號
grouopId:應該是公司名或者組織名。一般來說groupID有三個部分組成,每個部分之間以“.”分隔,第一部分是項目的用途,比如用于商業(yè)的就是com,用于非商業(yè)盈利性組織的就是org,第二部分是公司名,比如tentxun/baidu/alibaba,第三部分是你的項目名
artifactId:可以認為是maven構建的項目名,比如你的項目中有子項目,就可以使用“項目名-子項目的命名方式
packaging: 指定生成的格式(jar/war/rar/pom/ear)
version:版本號,SNAPSHOT意味快照,說明該項目還在開發(fā)中,是不穩(wěn)定的版本
name:項目的名稱, Maven產(chǎn)生的文檔用
url:項目主頁的url,Maven產(chǎn)生的文檔用
dependencies標簽:指定開發(fā)構建(jar包)
JUnit是一個Java語言的單元測試框架
用戶宿主目錄下也會生成本地倉庫:
[root@Maven testdir]# ls ~/.m2/repository/
antlr asm commons-codec commons-collections commons-io commons-lang jdom net org
Maven 的配置文件名稱為:setting.xml。它被存放在兩個地方:
1)/usr/local/maven/conf/settings.xml #安裝的目錄;
2)~/.m2/settings.xml #用戶的家目錄;
其中,安裝目錄配置又是全局配置,用戶目錄配置被稱為用戶配置。如果兩者都存在,他們的內(nèi)容將被合并,并且用戶范圍的settings.xml優(yōu)先。
默認用戶目錄不存在配置文件,可以copy maven安裝目錄下的settings.xml到用戶目錄。
關于settings.xml文件常用的的配置修改如下:
1)修改本地倉庫存儲路徑,默認值是~/.m2/repository 可在settings.xml中的localrepository修改成自己需要的目錄;
2)如果構建服務器因為網(wǎng)絡故障或者安全問題不能與遠程倉庫相連,需要離線模式下,設置offline屬性,設置為true,默認為false;
3)修改中央倉庫服務器,修改配置文件中便簽,添加或修改鏡像地址;
4)設置代理地址,修改配置文件中proxy標簽,定義代理服務器,實現(xiàn)maven的代理。
由于中央倉庫服務器是國外的,在國內(nèi)使用的話,下載比較慢,所以建議國內(nèi)用戶使用阿里云倉庫地址。
[root@maven testapp]# pwd #確認當前目錄是之前構建的項目下
/tmp/testdir/testapp
[root@maven testapp]# mvn compile #編譯(在編譯的過程中,可以看到使用的是阿里云的倉庫)
[INFO] BUILD SUCCESS #只要在輸出信息的最后幾行中看到該行,則表示執(zhí)行成功
#以后所有命令都一樣,只要最后幾行有上述信息,就表示執(zhí)行成功
[root@maven testapp]# ls #會看到目錄下會生成新的目錄target
pom.xml src target
# target:打包輸出目錄,如打包好的jar或war文件;
# target/classes:編譯輸出目錄;
[root@maven testapp]# mvn test #測試命令
[root@maven testapp]# ls target/test-classes/
com
# target/test-classes:測試編譯輸出目錄
[root@maven testapp]# mvn clean #清理命令(就是將編譯和測試生成的目錄刪除)
[root@maven testapp]# ls # target目錄已經(jīng)不在了
pom.xml src
[root@maven testapp]# mvn package #打包命令
[root@maven testapp]# ls target/ #會生成一個jar包
classes surefire-reports
maven-archiver testapp-1.0-SNAPSHOT.jar
maven-status test-classes
[root@maven testapp]# mvn install #安裝命令(作用是將壓縮文件jar包或者war包上傳到本地倉庫)
[root@maven testapp]# ls ~/.m2/repository/com/lzj/maven/quickstart/testapp/1.0-SNAPSHOT/
#查看上傳的包
maven-metadata-local.xml testapp-1.0-SNAPSHOT.jar
_remote.repositories testapp-1.0-SNAPSHOT.pom
# 直接使用maven install命令對項目進行上傳到本地倉庫,
# 那么前面所有的步驟將會自動執(zhí)行,比如源代碼的編譯、打包等等。
[root@maven testapp]# mvn deploy #發(fā)布(將包上傳到私服,現(xiàn)在我這里還沒有私服,所以會失敗)
maven基于構建生命周期這個中心概念,這意味著構建和分布特定項目的過程被明確定義,具體如下:
大致的生命周期圖:
詳細的生命周期圖:
[root@maven testdir]# mvn archetype:generate -DgroupId=cn.test.testweb -DartifactId=testweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
#構建web項目
#生成的目錄結構如下:
[root@maven testdir]# ls testweb/
pom.xml src
[root@maven testdir]# cat testweb/src/main/webapp/index.jsp
<html>
<body>
<h3>Hello World!</h3>
</body>
</html>
[root@maven testdir]# cd testweb/ #進入項目目錄下
[root@maven testweb]# mvn package #打包為war包
[root@maven testweb]# ls target/ #將會在該目錄下生成一個war包
classes maven-archiver testweb testweb.war
#將生成的war包移動到Tomcat的網(wǎng)頁根目錄(webapps)下,它將自動解壓,
#然后即可訪問Tomcat測試生成的war包
[root@maven testweb]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
[root@maven testweb]# tar zxf apache-tomcat-9.0.31.tar.gz
[root@maven testweb]# mv apache-tomcat-9.0.31 /usr/local/tomcat #安裝tomcat
[root@maven testweb]# mv target/testweb.war /usr/local/tomcat/webapps/ #移動到Tomcat網(wǎng)頁根目錄
[root@maven testweb]# /usr/local/tomcat/bin/startup.sh #啟動Tomcat
[root@maven testweb]# ls /usr/local/tomcat/webapps/ #查看,war包被自動解壓了
docs host-manager ROOT testweb.war
examples manager testweb
客戶端訪問移動到Tomcat網(wǎng)頁根目錄下的war包,如圖:
以上就是安裝部署Maven的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內(nèi)容的文章,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。