maven的tomcat插件部署web项目,我简单认为分两种,一种是部署到内置tomcat,另一种是部署到安装的tomcat。
第一种部署,默认是部署在内置tomcat的8080端口,如果不需要改端口及其他设置,完全可以不用在pom中配置tomcat插件
如果需要改端口,可参考如下配置:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<path>/Demo1</path>
<port>8088</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
然后执行mvn clean tomcat:deploy, 最后mvn tomcat:run可以启动内置tomcat。
内置tomcat部署比较简单,下面主要讲本地安装的tomcat部署
1、准备工作
下载安装并配置好Tomcat和Maven。
准备好一个Maven Web项目。
2、Maven部署Web项目到Tomcat的配置
2.1 Maven自动部署实际上调的是Tomcat安装目录下的manager功能。而为了能正常访问http://localhost:8080/manager页面,我们需要修改$TOMCAT_HOME/conf目录下的tomcat-users.xml:
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script" />
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager,
manager-gui,manager-script,admin-gui" />
</tomcat-users>
ps:用maven的tomcat插件部署项目,我的理解是调用manager-script的权限,用脚本的方式执行命令,manager-gui应该是界面方式部署,也就是类似webLogic那样打开管理页面,完后自己选择项目部署。个人觉得有manager-script的权限就可以了。
2.2、修改Maven的settings.xml
在$USER_HOME/.m2目录下找到settings.xml,添加server节点:
<servers>
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>tomcat</password>
</server>
</servers>
2.3、修改pom.xml增加Tomcat Maven插件
我使用的Tomcat6,pom.xml中增加如下配置:
...
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <path>/Demo1</path> <port>8080</port> <uriEncoding>UTF-8</uriEncoding> <url>http://localhost:8080/manager/html</url> <server>tomcatServer</server> <username>tomcat</username> <password>tomcat</password> </configuration> </plugin> </plugins> </build>
如果是tomcat7插件:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>3.2.2.RELEASE</spring.version>
<finalName>web-loab</finalName>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
<username>tomcat</username>
<password>tomcat</password>
<path>/Demo1</path>
</configuration>
</plugin>
</plugins>
</build>
上面username、password来自tomcat-users.xml。server来自settings.xml指定的server的id。path是访问应用的路径。url指定Tomcat管理页路径。
2.4、部署项目到Tomcat
mvn clean tomcat:redeploy
然后 mvn tomcat:run就可以用插件启动本地安装的tomcat。
PS:另外我听说mvn的tomcat插件只能启动一个项目,实践中发现是这么回事,但是没找到资料证实,大家有意见和建议请赐教。
参考文档:http://my.oschina.net/feichexia/blog/326893
