maven tomcat7 部署

jopen 10年前

首先,要使用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了。