我用的tomcat7,其中tomcat-user.xml文件需要配置如下role和user
- <role rolename="admin-gui"/>
- <role rolename="admin-script"/>
- <role rolename="manager-gui"/>
- <role rolename="manager-script"/>
- <role rolename="manager-jmx"/>
- <role rolename="manager-status"/>
- <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
maven的setting.xml文件的servers节点下添加如下内容
- <server>
- <id>tomcat</id>
- <username>admin</username>
- <password>admin</password>
- </server>
然后当前项目的pom.xml文件的plugins节点下需要添加如下plugin
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <configuration>
- <server>tomcat</server>
- <url>http://localhost:8080/manager/text</url>
- <path>/framework</path>
- </configuration>
- </plugin>
在上述配置文件中:
其中server与maven的setting.xml中的id一致
其中url为tomcat管理地址,不同的容器,域名和端口可能不同,注意url的最后必须加上 /text 否则会出错
其中 path为你项目的名称
注意事项:
1、如果本机有多个tomcat,eclipse maven插件怎么知道是哪个tomcat呢? 答:你必须在eclipse里面配置 tomcat
2、在运行maven的deploy命令之前,一定要先启动tomcat(直接进入tomcat的bin目录点击startup.bat),否则会报:“Cannot invoke Tomcat manager: Connection refused” 错误
3、在 pom.xml 的configuration节点里面的url最后必须加上 /text ,否则,即使你在运行maven的deploy命令之前已经启动了tomcat,还是会报错:
“Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2Fframework&war= ”
4、在运行maven的deploy 命令之前,我们已经启动了tomcat,所以在运行maven的run 命令之前,必须先关掉tomcat,然后再运行maven的 run 命令,之后你对项目的修改都会自动的同步到项目发布目录