使用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">