最近在使用maven,顺便尝试了下tomcat部署。
首先,要使用maven支持tomcat的插件。我这里用的是tomcat7,所以只用了7的,6的话同理。
pom.xml里:
<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”。
<servers>
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>lsr</password>
</server>
</servers>
下来,就要配置对应tomcat里的用户信息,用户名和密码必须与上面配置的相同。在tomcat-users.xml里:
<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)。
如:
cmd下
mvn clean package tomcat7:deploy
IDE下运行的参数,直接只有后面的部分:
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了。
来源:oschina
链接:https://my.oschina.net/u/207996/blog/182167