最近在使用maven,順便嘗試了下tomcat部署。html
首先,要使用maven支持tomcat的插件。我這裏用的是tomcat7,因此只用了7的,6的話同理。apache
pom.xml裏:tomcat
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>tomcat</server> <username>tomcat</username> <password>lsr</password> </configuration> </plugin>
其中,url最後必須爲text,通常爲html,可是tomcat7必須爲text。服務器
其次,要在maven的setting.xml(這個是自定義使用的默認位置仍是安裝目錄位置)文件裏配置這個服務器,也和上面的server名字一致,也就是「tomcat」。maven
<servers> <server> <id>tomcat</id> <username>tomcat</username> <password>lsr</password> </server> </servers>
下來,就要配置對應tomcat裏的用戶信息,用戶名和密碼必須與上面配置的相同。在tomcat-users.xml裏:ui
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="tomcat" password="lsr" roles="manager-gui, manager-script, manager-jmx, manager-status"/> </tomcat-users>
最後就是,配置項目的運行參數: (默認IDE裏集成的不須要加mvn,若是是在cmd下的話就要加mvn)。url
如:spa
cmd下插件
mvn clean package tomcat7:deploy
IDE下運行的參數,直接只有後面的部分:code
clean package tomcat7:deploy
最後,就是運行後,若是沒有提示失敗,就ok了,直接訪問。
PS:其中在這個過程當中遇到了兩個明顯問題,一個是401,一個是403。
401:基本上是用戶名或者密碼配置的不正確。
403:有兩種狀況,
1):pom裏配置的url後綴是html,而不是text。這種是6的格式,7不能用,後綴只能是text。
<url>http://localhost:8080/manager/html</url>
2):tomcat用戶的權限配置不正確。按文中配置就ok。
還有就是,tomcat要先啓動,不要用IDE啓動,手動運行tomcat的startup.bat/sh。
OK了。
還有就是,若是運行時提示,已經有項目存在而部署失敗,能夠用這個命令
mvn clean package tomcat7:redeploy
clean package tomcat7:redeploy
這樣就ok了。