1. 程式人生 > >使用tomcat7-maven-plugin部署Web專案

使用tomcat7-maven-plugin部署Web專案

一、環境準備
我使用的環境是:Window 10、Tomcat 8.0.36、maven3、tomcat7-maven-plugin 2.2版本。
二、設定環境變數
安裝Tomcat8.0.36和maven之後設定環境變數,Tomcat設定環境變數時,key為必須為CATALINA_HOME。
1.設定maven環境變數
MAVEN =D:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\plugins\maven\lib\maven3\bin
(我直接引用了InteljiIDEA中的maven)
2、設定TOMACAT環境變數
CATALINA_HOME=E:\tomcat\apache-tomcat-8.0.36
3、將他們新增到PATH中
PATH=%MAVEN%;%CATALINA_HOME%\bin;

三、在Tomcat中配置使用者許可權
在tomcat的配置檔案tomcat_user.xml(%CATALINA_HOME%\conf\tomcat.user.xml)中的< tomcat-users >標籤中新增

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="username" password="password" roles="manager-gui,manager-script"/>

四、在Maven的settings.xml配置Server


在Maven的配置檔案settings.xml(%MAVEN%\conf\settings.xml)中的< servers > 中加入

<server>
        <id>tomcat8</id>
        <username>username</username>
        <password>password</password>
    </server>

這裡的username 、password就填我們在tomcat中配置的那個使用者名稱,和密碼
這裡的設定的 id為 tomcat8 我們將在專案的 pom.xml中填寫。

五、在專案的pom.xml中配置tomcat7-maven-plugin外掛
在< build> 中引入外掛:

 <build>
        <pluginManagement>
            <plugins>
              ...
                <!-- 配置tomcat 外掛 -->
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <url>http://localhost:8080/manager/text</url>
                        <server>tomcat8</server>
                        <path>/test</path>
                        <update>true</update>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        ....

注意
1、這裡的 < server> 中填寫的就是為們在%MAVEN%\conf\settings.xml配置中的那個id
即 tomcat8.
2、由於我用的tomcat8這裡的< url> 必須配置成 xxx/manager/text否則會部署不成功

3、由於部署時會下載一些東西最還是在 pom.xml 的< project >標籤下加入以下程式碼:

<repositories>
        <repository>
            <id>people.apache.snapshots</id>
            <url>
                http://repository.apache.org/content/groups/snapshots-group/
            </url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <name>Apache Snapshots</name>
            <url>http://repository.apache.org/content/groups/snapshots-group/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

六、deploy
1、開啟tomcat
2、在pom.xml所在的目錄執行 mvn tomcat7:deploy 命令部署專案。

七、遇到的問題
1、在Window系統下執行在執行 mvn tomcat7:undeploy時,會有殘留在tomcat目錄下
解決方法:在tomcat的配置檔案context.xml中 的< Context >標籤中新增屬性:antiJARLocking=”true” antiResourceLocking=”true”

<Context antiJARLocking="true" antiResourceLocking="true">