maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把 tomcat作为内嵌服务器启动,就像jetty一样。
使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现调试。而且具有tomcat的热部署功能。
1 在pom.xml文件中配置maven-tomcat-plugin插件。
<build>
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
</plugin>
</plugins>
</build>
2 配置环境变量MAVEN_OPTS,启动调试功能。
3 在eclipse中配置远程调试
MAVEN命令:mvn tomcat:run
参考:
http://mojo.codehaus.org/tomcat-maven-plugin/introduction.html
上面的配置是把tomcat作为内嵌服务器使用。
如果把tomcat作为外部服务器,还需要做如下配置。
1 修改startup.bat
修改call "%EXECUTABLE%" jpda start
%CMD_LINE_ARGS%
2 修改catalina.bat
修改set JPDA_TRANSPORT=dt_socket
修改set JPDA_ADDRESS=1045
3 修改tomcat-users.xml
如果没有,则加入<role
rolename="manager"/>
加入,<user username="admin"
password="" roles="manager"/>
maven默认使用admin密码为空登录tomcat管理控制台。
******************************************************************
maven-tomcat-plugin能够方便的部署war应用到本地或远程的tomcat上,废话少说,看代码,下面是带有maven- tomcat-plugin配置的pom.xml
<properties>
<!-- Cargo settings -->
<cargo.container.manager.url>http://192.168.1.107/manager</cargo.container.manager.url>
<cargo.container.username>admin</cargo.container.username>
<cargo.container.password>123456</cargo.container.password>
<cargo.wait>false</cargo.wait>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<path>/runes</path>
<url>${cargo.container.manager.url}</url>
<username>${cargo.container.username}</username>
<password>${cargo.container.password}</password>
<warDirectory>${basedir}/src/main/webapp</warDirectory>
</configuration>
<executions>
<execution>
<id>tomcat-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
<!--execution>
<id>undeploy</id>
<phase>deploy</phase>
<goals>
<goal>start</goal>
</goals>
</execution-->
</executions>
</plugin>
</plugins>
</build>
maven-tomcat-plugin通过 tomcat的manager控制台来deploy或undeploy应用,所以要把你的tomcat的相关信息配置上,包括manager url,用户名及密码等!