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