其實maven項目部署到tomcat的方式不少,我從一開始的打war包到tomcat/webapps目錄,到使用tomcat-maven插件,到直接使用servers部署,一路來走過不少彎路。web
下面就一一介紹這幾種部署方式:apache
1.打war包到tomcat/webapps目錄tomcat
這種方式其實跟非maven項目沒什麼區別,就是打包的方式不一樣服務器
以後在target目錄下會生成war包,複製到tomcat/webapps目錄即完成部署。app
2.使用tomcat-maven插件,在pom.xml的</dependencies>以後添加如下代碼,並作相應修改webapp
1 <build> 2 <finalName>guoguo-maven-web</finalName> 3 <plugins> 4 <plugin> 5 <!-- 3個可用插件 --> 6 <groupId>org.apache.tomcat.maven</groupId> 7 <artifactId>tomcat6-maven-plugin</artifactId> <!-- 命令爲tomcat6:redeploy --> 8 <!-- <groupId>org.apache.tomcat.maven</groupId> --> 9 <!-- <artifactId>tomcat7-maven-plugin</artifactId> --> <!-- 命令爲tomcat7:redeploy --> 10 <!-- <groupId>org.codehaus.mojo</groupId> --> 11 <!-- <artifactId>tomcat-maven-plugin</artifactId> --> <!-- 命令爲tomcat:redeploy --> 12 <!-- <version>2.2</version> --> 13 <configuration> 14 <!-- <url>http://localhost:8080/manager</url> --> <!-- tomcat6部署管理路徑 --> 15 <url>http://localhost:8080/manager/text</url> <!-- tomcat7部署管理路徑 --> 16 <username>admin</username> <!-- tomcat的管理員帳號 --> 17 <password>admin</password> 18 <port>8080</port> 19 <path>/guoguo-maven-web</path> <!-- 部署路徑 --> 20 <charset>UTF-8</charset> 21 <encoding>UTF-8</encoding> 22 <!-- 運行redeploy命令前,要能正常訪問http://localhost:8080/manager--> 23 </configuration> 24 </plugin> 25 </plugins> 26 </build>
這樣就配置好了tomcat maven插件maven
運行redeploy命令前,要啓動tomcat,並能正常訪問http://localhost:8080/manager測試
經過項目右鍵 run as --> maven build... --> main --> goals 中填入 tomcat6:redeploy命令便可部署成功,這樣部署有時會使tomcat出錯,出錯須要重啓tomcatui
3.直接使用servers部署url
首先確保編譯配置正常
test下的目錄編譯到target/test-classes,其餘編譯到target/classes目錄便可,其餘通常默認不須要改變什麼
而後進行部署的配置:
配置好以後,經過右鍵servers中tomcat,add and remove...添加項目,重啓tomcat便可
第一種我已經不用了,第二種適合直接部署到測試服務器,第三種適合本地的調試
附錄:
tomcat管理員配置,在servers項目的tomcat-users.xml中添加以下配置,若是你是直接使用bin/startup.bat啓動tomcat,則修改conf/tomcat-users.xml
----------tomcat6管理員配置----------
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
----------tomcat6管理員配置----------
----------tomcat7管理員配置----------<role rolename="manager-script" /><role rolename="manager-gui"/><user username="admin" password="admin" roles="manager-gui,manager-script"/>----------tomcat7管理員配置----------