【JavaWeb】98:Maven配置詳解

今天是劉小愛(ài)自學(xué)Java的第98天。

感謝你的觀看,謝謝你。

話不多說(shuō),開(kāi)始今天的學(xué)習(xí):

image

經(jīng)過(guò)97天的學(xué)習(xí),對(duì)于JavaSE、數(shù)據(jù)庫(kù)以及前端的基本知識(shí),都有了一個(gè)大致的了解。

在有了這些基礎(chǔ)后,就可以開(kāi)始做Java項(xiàng)目了。

而在項(xiàng)目開(kāi)發(fā)過(guò)程中會(huì)遇到一些問(wèn)題:

  • jar包太多了,放在lib文件夾中會(huì)很亂。

  • jar包不同版本之間可能還會(huì)有沖突。

  • 多個(gè)項(xiàng)目使用的jar包一樣,需要復(fù)制多份。

  • 如果發(fā)現(xiàn)了自定義jar包的bug,修改后需要開(kāi)發(fā)人員每次都手動(dòng)接收新的jar包并替換掉本地的jar包,麻煩。

主要都是對(duì)于jar包的處理,而對(duì)于這些問(wèn)題的解決方案就是使用maven。

一、maven概述

maven,專家的意思,它是一個(gè)項(xiàng)目管理工具。

1maven下載

通過(guò)網(wǎng)絡(luò)搜索其官網(wǎng)下載即可。

image

該軟件是由Apache這個(gè)組織開(kāi)源的,不得不是說(shuō)這個(gè)組織挺偉大的,Tomcat也是其開(kāi)源的。

需要將壓縮包解壓到一個(gè)沒(méi)有中文,空格或其他特殊字符的文件夾內(nèi),解壓即可使用。

2maven作用

其中maven的主要作用有:

  • 項(xiàng)目管理:編譯、測(cè)試、打包、部署、運(yùn)行,這一套流程都可以用maven來(lái)管理。

  • 管理jar包:也就是上述提到的問(wèn)題。

  • 管理插件:開(kāi)發(fā)過(guò)程中會(huì)需要使用各種插件。

3maven環(huán)境變量配置

和Java一樣,也需要配置maven環(huán)境變量。

做一個(gè)知識(shí)點(diǎn)的回顧,環(huán)境變量的作用在于:

可以讓該程序在任何路徑下運(yùn)行,如果沒(méi)有配置環(huán)境變量只能在其對(duì)應(yīng)的安裝路徑下運(yùn)行。

image

環(huán)境變量配置好后,在dos窗口中輸入命令:mvn -v,如果運(yùn)行成功即表示配置完成。

二、maven倉(cāng)庫(kù)

倉(cāng)庫(kù)就可以理解成 一個(gè)目錄,專門用來(lái)存儲(chǔ)項(xiàng)目中需要的jar包,需要時(shí)直接引入即可。

其又被分為:本地倉(cāng)庫(kù),中央倉(cāng)庫(kù)以及私服。

1本地倉(cāng)庫(kù)的配置

這是一定需要配置的,一個(gè)maven項(xiàng)目創(chuàng)建好后,如果需要jar包,它會(huì)優(yōu)先去本地倉(cāng)庫(kù)去找。

  • 如果本地倉(cāng)庫(kù)有該jar包,就直接使用,沒(méi)有網(wǎng)絡(luò)也能引入。

  • 如果本地倉(cāng)庫(kù)沒(méi)有該jar包,就需要去中央倉(cāng)庫(kù)或者私服中去下載。

image

①maven文件目錄

在該目錄下可以創(chuàng)建一個(gè)文件夾repository用于存放下載的jar包。

②conf文件夾下setting文件

conf即存放配置文件的地方,其中里面的setting文件就是一個(gè)核心配置文件。

③本地倉(cāng)庫(kù)路徑

找到標(biāo)簽<settings>,使用標(biāo)簽<localRepository>可以配置本地倉(cāng)庫(kù)路徑。

當(dāng)然其也有一個(gè)默認(rèn)的路徑,不自定義路徑也行,不過(guò)自己配置下也挺簡(jiǎn)單的。

并且一般不會(huì)將其存放在c盤中,因?yàn)殡S著我們的不停使用,repository文件夾會(huì)越來(lái)越大。

我這邊為求方便就放在c盤了,畢竟以后工作也不會(huì)用到該電腦。

2私服倉(cāng)庫(kù)的配置

maven所有的jar包都是從中央倉(cāng)庫(kù)下載的,是國(guó)外提供的一個(gè)資源庫(kù)。

但是在國(guó)內(nèi)這種網(wǎng)絡(luò)條件下,去訪問(wèn)國(guó)外的網(wǎng)站是比較慢的,所以私服就出來(lái)了。

image

找到<mirrors>標(biāo)簽,在該標(biāo)簽下配置私服。

阿里巴巴作為國(guó)內(nèi)頂尖的互聯(lián)網(wǎng)企業(yè),就提供了一個(gè)公共代理倉(cāng)庫(kù),配置阿里云私服即可。

當(dāng)然有的企業(yè)也會(huì)配置屬于自己的私服。

三、maven工程

使用IDEA創(chuàng)建maven工程之前需要將本地的maven配置到IDEA環(huán)境中。

在IDEA開(kāi)發(fā)工具中選擇:File—Other Settings—Setting for New Projects

1配置本地maven

image

找到Maven選項(xiàng)欄:

Maven home中配置maven的安裝路徑。

User settings file中配置maven中settings文件的路徑。

配置好后本地倉(cāng)庫(kù)會(huì)自動(dòng)設(shè)置成在配置文件中設(shè)定的路徑。

2配置maven參數(shù)

創(chuàng)建maven項(xiàng)目后,默認(rèn)會(huì)下載一些配置資源,所以需要配置maven參數(shù)。

image

找到Maven中的Runner,將參數(shù)設(shè)置到VM Options,其中參數(shù)為:

-DarchetypeCatalog=internal

3創(chuàng)建maven-web項(xiàng)目

①創(chuàng)建普通java項(xiàng)目

image

NEW Project—選擇Maven創(chuàng)建項(xiàng)目。

GroupID是項(xiàng)目組織唯一的標(biāo)識(shí)符。

比如我的項(xiàng)目叫test001,那么GroupID應(yīng)該是com.liuxiaoai.test001(域名+公司名+項(xiàng)目名)

ArtifactID就是項(xiàng)目的唯一的標(biāo)識(shí)符,一般都是項(xiàng)目名+說(shuō)明。

當(dāng)然學(xué)習(xí)階段也沒(méi)有那么嚴(yán)格,了解即可。

②配置打包方式

image

在pom.xml文件夾中加一行標(biāo)簽:

<packaging>war<packaging>

即配置打包方式為war包。

同時(shí)點(diǎn)擊import Change改變項(xiàng)目結(jié)構(gòu)。

③配置webapp目錄和web.xml

image

找到Projet Strusture—Facets

找到webapp文件路徑并復(fù)制,同時(shí)在右上角點(diǎn)擊那個(gè)加號(hào),新增web.xml文件:

image

在彈出的選項(xiàng)卡中填入正確的web.xml路徑:

也就是上述復(fù)制的webapp路徑下的:WEB-INF\web.xml文件

④web項(xiàng)目目錄結(jié)構(gòu)

image

sec文件夾有main和test兩個(gè)文件夾:

  • main中的java用來(lái)編寫java代碼。

  • main中的resources專門存放配置文件。

  • main中的webapp也就是web相關(guān)。

  • test中用來(lái)編寫測(cè)試代碼。

pom.xml也就是maven項(xiàng)目的核心配置文件了。

⑤添加配置Tomcat

image

選擇Edit Configurations

點(diǎn)擊左上角的加號(hào)(+),找到Tomcat Server-Local,導(dǎo)入Tomcat,之后:

  • 在最上面Name中可以設(shè)置Tomcat的名稱。

  • 在右下角點(diǎn)擊Fix,選擇第二個(gè)。

⑥測(cè)試

在webapp目錄下新建一個(gè)hello.html文件,文件內(nèi)容如下:

image

啟動(dòng)tomcat后,訪問(wèn)Test.html。

如果能正確訪問(wèn)到該頁(yè)面,說(shuō)明項(xiàng)目創(chuàng)建OK。

最后

我使用IDEA創(chuàng)建maven-web項(xiàng)目,在配置打包方式改變項(xiàng)目結(jié)構(gòu)時(shí)遇到了一個(gè)問(wèn)題:

image

報(bào)錯(cuò)信息為:Unable to import maven project: See logs for details。

后來(lái)查詢之后才發(fā)現(xiàn),是maven版本和IDEA版本不兼容,我用的IDEA是2018版的,maven版本過(guò)高的話就會(huì)出現(xiàn)這種情況。

將maven版本換成舊版本的就好了,前面寫的圖片都是最新版的,我就不一一替換了。

謝謝你的觀看。

如果可以的話,麻煩幫忙點(diǎn)個(gè)贊,謝謝你。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容