Maven打包JavaWeb項(xiàng)目的兩種實(shí)現(xiàn)方式
Maven打包web項(xiàng)目方式及步驟
我最近學(xué)習(xí)的打包方式有兩種,分為如下:
- 第一種是通過(guò)命令行打包:要知道m(xù)aven常用的命令
- 第二種是通過(guò)eclipse打包:簡(jiǎn)單方便就可以打包,是普遍使用的方式
一、通過(guò)eclipse打包web項(xiàng)目
(1)進(jìn)入eclipse打包右鍵點(diǎn)擊項(xiàng)目,選擇Run As。
(2)任何打包前先進(jìn)行清理,選擇Maven clean。等待console出現(xiàn)如下圖所示的BUILD SUCCESS,清理之前的包
(3)之后Maven打包處理得到以下窗口,再Goals中輸入packge(也可以跳過(guò)clean步驟嗎,再這里直接輸入clean package)
選擇跳過(guò)測(cè)試Skip Tests與更新快照Update Snapshots
Goals中其實(shí)填入的的就是maven常用的命令:
mvn package
:打包命令mvn install
: 打包后將其安裝在本地倉(cāng)庫(kù),日后可以調(diào)用mvn test
:運(yùn)行測(cè)試mvn clean
:清除之前的包mvn compile
:變異源代碼,生成class文件- ………
(4)等待Console出現(xiàn)打包成功的信息,也可能會(huì)失敗。
(5)之后查看target下是否存在打包成功的class文件及xxxxx.war包
打包之前項(xiàng)目的target文件夾如下,是沒(méi)有任何的class文件以及xxx.war包的
打包之后查看項(xiàng)目的target文件夾,存在了class字節(jié)碼文件與war包
(6)之后將war拷貝到tomcat的wapapps文件夾下,即可以通過(guò)訪問(wèn)http://localhost:8080/xxx項(xiàng)目名稱訪問(wèn),這樣做的好處就是可以脫離IDE,進(jìn)行打包發(fā)布。
二、通過(guò)命令來(lái)實(shí)現(xiàn)打包
再安裝好maven環(huán)境之后,可以再dos下進(jìn)行maven命令進(jìn)行項(xiàng)目的打包。其大體步驟跟第一種方式大同小異。
(1)進(jìn)入項(xiàng)目所在目錄,進(jìn)行clean命令
mvn clean
(2)打包+傳入配置文件參數(shù)+跳過(guò)測(cè)試
mvn package -Pqa -DskipTests
package
:基本命令,進(jìn)行打包-Pqa
:項(xiàng)目開發(fā)需要有多個(gè)環(huán)境,一般為開發(fā),測(cè)試,預(yù)發(fā),正式4個(gè)環(huán)境,通過(guò)maven可以實(shí)現(xiàn)按不同環(huán)境進(jìn)行打包部署。也就是dev(開發(fā))、qa(測(cè)試)、pre(預(yù)發(fā))、生產(chǎn)正式(prod)四個(gè)環(huán)境,對(duì)應(yīng)的都有各自的配置文件properties。
- 通過(guò)-P傳入環(huán)境id參數(shù)就可以選擇環(huán)境,比如傳入qa,即命令-Pqa 。
- 會(huì)得到qa.peroperties配置文件,這是因?yàn)槲覀冊(cè)趐om.xml文件中有這樣的配置
<build> <filters> <filter>src/main/resources/env/${env}.properties</filter> </filters> <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> </resources> .... </build>
其中${env}.properties
就是讓我們傳入環(huán)境參數(shù)qa、dev、prod、pre。
- DskipTests
:跳過(guò)測(cè)試,否則打包過(guò)程很慢
(4)同樣在target文件夾下找到項(xiàng)目war包,然后拷貝到tomcat的webapps文件夾下進(jìn)行打包發(fā)布配置
在打包過(guò)程中需要注意的幾點(diǎn):
- mvn打包必須有JDK環(huán)境下才能正確打包。
- 正確配置pom.xml文件
- 版本號(hào)可以在pom.xml中修改
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中的之啟動(dòng)過(guò)程obtainFreshBeanFactory詳解
這篇文章主要介紹了Spring中的之啟動(dòng)過(guò)程obtainFreshBeanFactory詳解,在refresh時(shí),prepareRefresh后,馬上就調(diào)用了obtainFreshBeanFactory創(chuàng)建beanFactory以及掃描bean信息(beanDefinition),并通過(guò)BeanDefinitionRegistry注冊(cè)到容器中,需要的朋友可以參考下2024-02-02springboot 注冊(cè)服務(wù)注冊(cè)中心(zk)的兩種方式詳解
本文通過(guò)一個(gè)demo講述一下這兩種注冊(cè)方式,使用的是傳統(tǒng)的向zk注冊(cè)的方案。對(duì)springboot 注冊(cè)zk的相關(guān)知識(shí)感興趣的朋友一起看看吧2018-01-01JSON--List集合轉(zhuǎn)換成JSON對(duì)象詳解
這篇文章主要介紹了List集合轉(zhuǎn)換成JSON對(duì)象,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。2017-01-01Springboot+QueryDsl實(shí)現(xiàn)融合數(shù)據(jù)查詢
這篇文章主要將介紹的是 Springboot 使用 QueryDsl 實(shí)現(xiàn)融合數(shù)據(jù)查詢,文中有詳細(xì)的代碼講解,對(duì) SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧2023-08-08