目标:maven集成tomcat插件运行web项目
环境:
tomcat: apache-tomcat-7.0.70,
eclipse: Version: Luna Service Release 2 (4.4.2) 已集成maven和tomcat
注意: tomcat不同的版本用的不同的maven插件
按照以下步骤配置, tomcat没有支持热部署, 需要重启(不需要重新package)方能看到修改的内容
步骤:
1. 配置tomcat
在conf/tomcat-users.xml文件的tomcat-users节点下配置以下内容:
<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"/>
2. 配置maven项目的settings.xml
在conf/settings.xml文件的servers节点下配置以下内容:
<server>
<id>tomcat</id>
<-- 对应tomcat的user节点的username属性 -->
<username>admin</username>
<-- 对应tomcat的user节点的password属性 -->
<password>admin</password>
</server>
3. 配置pom.xml文件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<!-- tomcat7的插件, 不同tomcat版本这个也不一样 -->
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 -->
<port>9090</port>
<!-- 项目访问路径 本例:localhost:9090, 如果配置的aa, 则访问路径为localhost:9090/aa-->
<path>/</path>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
//-----以下第4步为其他博客中提到要配置的, 但我没有 配置依然运行成功了, ---------------------
4. 修改集成在eclipse的tomcat的配置(关闭tomcat)
在eclipse的Servers视图中双击tomc实例----->servers Options----->选中 Publish module contexts to separate XMLfiles---->Ctrl+s 保存修改(tomcat必须是未启动状态)
5. maven命令运行项目
项目右键---->run as--> Maven build--->goals输入栏中输入: clean tomcat7:run ----> run
以后直接执行maven build就可以自动执行以上命令了
有可能会报下面的错:
Memory database file E:\xxxx\workspace\tomcat\target\tomcat\conf\tomcat-users.xml cannot be read
解决方案: 执行下 maven 的clean命令, 在重新运行