Eclipse使用Maven搭建Java Web專案並直接部署Tomcat8(全實戰)
準備
環境
windows server 2008
tomcat 8.5.16
maven 3.5.0
jdk 1.8
Eclipse Jee Neon
安裝
下面主要說到Maven安裝,其他的安裝可以在網上找文章:
直接點apache-maven-3.5.0-bin.zip下載,然後解壓到隨便什麼目錄
下載之後,需要配置環境變數,在系統變數裡新建:
變數名:MAVEN
變數值:E:\Program Files\apache-maven-3.5.0 (你的Maven目錄)
然後在Path變數最後插入:
;%MAVEN%\bin
注意:和前面應該是有;分號間隔的
完成後在命令列李測試:mvn -v
整合Eclipse ,Maven
現在開啟eclipse–Window–preferences–Maven–Installations
點Add…–>>Directory…選擇你的Maven目錄後Finish
然後繼續左邊選擇Maven–User Settings,將兩個配置檔案目錄都設定成Maven目錄\conf\settings.xml
再點選Update Settings更新配置,點選OK後Maven和Eclipse的整合就完成了
建立並配置Maven 專案
建立專案
File–New–Other…
選擇Maven下的Maven Project,Next
保持預設,Next
這裡選擇webapp,Next
輸入包名,工程名,Package可以不填,Finish
配置
配置Project Facets
建好之後右擊工程–Properties–Project Facets
在這裡先將Dynamic Web Services的勾去掉,將Java版本改為1.8,點選Apply
現在再將Dynamic Web Services勾上,版本改為3.1,同時下面會出現一行字,單擊他!
修改裡面Content directory為src/main/webapp,並將Generate…勾選,單擊OK
可以看的右邊有Runtimes選項,單擊,選中其中你的Tomcat後單擊OK結束設定
配置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>
配置pom.xml
先將junit的版本改為4.12,然後在中加入以下程式碼,用以支援Servlet
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
部署
tomcat配置
tomcat中tomcat-user.xml的配置,這裡尤其要注意,必須按照官方的來,否則容易出錯。我的配置如下:
在標籤中加入以下程式碼後,儲存退出
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="t123456" roles="admin-gui,admin,manager-gui,manager,manager-script"/>
Maven配置
Maven安裝目錄下的settings.xml的server配置,這裡的server就是我們tomcat中tomcat-user.xml檔案中的使用者名稱和密碼。
<server>
<id>tomcat8</id>
<username>tomcat</username>
<password>t123456</password>
</server>
專案中的pom配置
這裡finalName就是最終部署到tomcat中的專案名稱,
<build>
<finalName>websample</finalName>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://127.0.0.1:8080/manager/text</url>
<username>tomcat</username>
<password>t123456</password>
<path>/websample</path>
</configuration>
</plugin>
</plugins>
</build>
注:這裡面的path是我們訪問的路徑(專案名),裡面的username和密碼就是tomcat-user.xml中配置的。
這裡的使用者名稱和密碼也可以去掉。但是maven中必須配置正確。並且需要指向server中的id(tomcat8),例如
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://127.0.0.1:8080/manager/text</url>
<server>tomcat8</server>
<path>/websample</path>
</configuration>
</plugin>
部署執行專案
先執行Tomcat目錄下/bin/startup.bat
然後右擊專案Run As–Maven build,在Goals中輸入:clean install tomcat7:redeploy
單擊Run即可執行專案,之後只需單擊Maven build即可自動執行。