很多時(shí)候開發(fā)效率低下,大部分原因是IDE環(huán)境不熟悉、配置不會配置;因此在學(xué)習(xí)一項(xiàng)技能之前,有必要對基本的環(huán)境配置有所了解,正所謂磨刀不誤砍柴工。這篇文章主要針對初次接觸Maven,不熟悉配置的研究人員。
1、Maven配置及介紹
Maven官網(wǎng):http://maven.apache.org/
以前開發(fā)Java Web工程時(shí),需要導(dǎo)入很多依賴包,但是隨著工程逐漸變大,所管理的包越來越多,有必要使用工具來管理這些包,這樣不需要我們手動導(dǎo)入;Maven就是為了解決管理jar的問題。
如下,一個(gè)經(jīng)典的導(dǎo)入springmvc依賴的配置:
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.0.RELEASE</version> </dependency><dependencies>
通過三個(gè)坐標(biāo)值,定位到我們所需的依賴包;
關(guān)于pom文件的介紹,官方文檔:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
下面介紹如何配置Maven:
1)下載Maven
http://maven.apache.org/download.cgi 官網(wǎng)下載apache-maven-3.5.0-bin.zip,到本地目錄,然后解壓,比如放到E:\JavaWeb目錄下。
2)配置Maven環(huán)境變量
這個(gè)網(wǎng)上很多教程,與配置Java環(huán)境變量是一樣的。配置好之后在命令行窗口輸入 mvn -v:如果顯示maven的版本,證明環(huán)境變量配置成功;
3)Maven基本配置
將maven目錄下conf-->settings.xml文件拷貝到,C盤-->用戶-->.m2文件夾下
為什么這么做呢?有兩個(gè)原因,1. eclipse默認(rèn)加載maven配置是加載這個(gè)路徑下的settings文件; 2.這樣配置之后如果后期更新maven的版本不需要修改配置。如下圖所示,第二個(gè)是默認(rèn)下載的包存在哪個(gè)地方,也就是本地倉庫。
配置settings.xml文件:
<!-- 官方推薦但是不可用,需要配置代理 <mirror> <id>UK</id> <mirrorOf>central</mirrorOf> <name>UK Central</name> <url>http://uk.maven.org.maven2</url> </mirror>--><!-- 使用國內(nèi)的鏡像 --> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
這樣基本的配置就完成了,關(guān)于更多內(nèi)容在下一篇文章中引入;
4)使用命令新建與發(fā)布Web工程
進(jìn)入我們想要新建工程的目錄,這里是E:\JavaWeb\eclipse-neon\workspace
mvn archetype:generate -DgroupId=ecnu.liuning -DartifactId=springmvc-study -DarchetypeArtifactId=maven-archetype-webapp
中間有提示信息,點(diǎn)回車即可,如果出現(xiàn)錯誤,很大一部分原因是因?yàn)殓R像配置錯誤,沒法下載依賴包,搜索錯誤內(nèi)容查找解決方案。
如果最后提示BUILD SUCCESS證明新建成功;
這跟用eclipse新建是一樣的,可以用eclipse導(dǎo)入測試,如果導(dǎo)入eclipse之后出現(xiàn)下面的錯誤:
是因?yàn)闆]有添加Tomcat Server的運(yùn)行環(huán)境:右鍵點(diǎn)擊工程,選擇config buildpath然后按照下圖選擇;添加完之后,修改一下文件內(nèi)容再保存,讓他重新加載一下。
在命令行切換到springmvc-study 目錄,執(zhí)行: mvn package 構(gòu)建成功后,springmvc-study 目錄下多了一個(gè)target目錄,在這個(gè)目錄下會打包成my-web-app.war,把這個(gè)war包拷貝到Tomcat的發(fā)布目錄下就可以運(yùn)行了
2、Eclipse中新建Maven Web項(xiàng)目
上面介紹了,使用命令來新建Maven Web工程,可以看到一個(gè)標(biāo)準(zhǔn)的Web工程如下:
my-web-app是工程名:
如果是從myeclipse轉(zhuǎn)過來的開發(fā)者,可能不太適應(yīng),但是這沒有關(guān)系,代碼組織的一種形式;真正發(fā)布到Tomcat上之后跟使用Myeclipse新建的WebRoot發(fā)布是一樣的效果:
要想在eclipse中新建Maven項(xiàng)目,首先需要幾個(gè)基本的配置:
1)設(shè)置我們自己安裝的Maven路徑
兩個(gè)地方,Installations和User settings,User settings里面配置我們.m2下面的settings.xml文件,以及本地倉庫地址,默認(rèn)就是在C盤用戶目錄下:
2)新建項(xiàng)目
網(wǎng)上好多教程;照著來就可以了,但是需要注意幾點(diǎn):
(1)新建的時(shí)候選擇:
(2)右鍵項(xiàng)目-->屬性,在這里可以修改幾個(gè)地方;
Runtimes選中,然后Java版本改為1.8的版本,Dynamic Web Module可以去掉,點(diǎn)擊apply;然后再勾上Dynamic Web Module這時(shí)候改為3.0,就會出現(xiàn)進(jìn)一步配置的藍(lán)色連接,點(diǎn)進(jìn)去,修改里面Content directory為src/main/webapp,并將Generate...勾選,單擊OK。
?。?)右鍵項(xiàng)目-->Build Path-->Config Build Path
可以把缺失的文件夾給加上
3)配置項(xiàng)目
點(diǎn)開pom.xml文件添加基本的servlet與junit依賴
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency></dependencies>
點(diǎn)開web.xml文件,由于此文件是自動生成的,沒有頭部;可以現(xiàn)搜最新的模板使用,也可以用下面的:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Demo</display-name></web-app>
4)下面配置插件用以發(fā)布Maven項(xiàng)目
首先在pom.xml文件中加入下面的代碼:build標(biāo)簽與dependencies并行,打一個(gè)<點(diǎn)擊alt+/會有標(biāo)簽提示。
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <!-- 注意此處的url,修改成tomcat監(jiān)聽的端口即可 --> <url>http://localhost:8080/manager/text</url> <server>tomcat7</server> <!-- 此處的名字必須和setting.xml中配置的ID一致--> <path>/${project.artifactId}</path> <!-- 此處的名字是項(xiàng)目發(fā)布的工程名--> <server>tomcat7</server> <username>admin</username>
<password>password</password> </configuration> </plugin> </plugins> </build>
配置Tomcat
編輯Tomcat目錄下/conf/tomcat-users.xml 在<tomcat-users></tomcat-users>標(biāo)簽中加入以下代碼后,保存退出
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
如果出錯:
可嘗試將將Eclipse中jre改一下
window--Preferences--java--Installed JREs,選擇jdk目錄下的jre后點(diǎn)OK即可。
如果報(bào)未授權(quán)的錯誤,可能是兩個(gè)地方的配置用戶名密碼不對應(yīng):user
最后訪問:
3、總結(jié)
在接觸Maven之前總是抵觸,總鐘情于手工導(dǎo)包的方式,其實(shí)還是自己遇到錯誤總是躲避,靜不下心來去處理;網(wǎng)上的好些教程千篇一律,但是就是版本不一樣,側(cè)重點(diǎn)不同,會導(dǎo)致解決不了我們的問題;總之就是靜下心來尋找解決方案。
1)配置maven時(shí)mirror要配置正確,不然會報(bào)各種插件找不到的錯誤。
2)使用eclipse時(shí)主要就是Properties里面和config build path里面進(jìn)行配置。
3)配置插件是密碼要對應(yīng)起來。
總結(jié)一下解決問題要注意的地方:
1)要回搜,兩方面搜索,其一搜你這個(gè)問題怎么解決,其二搜日志錯誤信息,搜的內(nèi)容質(zhì)量也良莠不齊,要學(xué)會選擇!
2)平時(shí)多看博客論壇,多幫助別人解決問題,積累相關(guān)的技術(shù)圈,問題解決圈,等到真正發(fā)生bug時(shí)能夠快速定位問題所在!
3)要了解不同的IDE,這個(gè)出問題,可以換另一個(gè);
工欲善其事必先利其器,開發(fā)環(huán)境是很有必要熟悉的!
4、參考文獻(xiàn)
http://www.cnblogs.com/liun1994/p/7173052.html