maven tomcat7 部署
jopen
11年前
首先,要使用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了。