1. 程式人生 > >Eclipse使用Maven搭建Java Web專案並直接部署Tomcat8(全實戰)

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即可自動執行。

這裡寫圖片描述