1. Tomcat 7
这个例子说明了如何在Tomcat7打包并部署WAR文件。
1.1 Tomcat 认证
添加具有角色管理器GUI和管理脚本的用户。
%TOMCAT7_PATH%/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <!--<user username="admin" password="password" roles="manager-gui,manager-script" />--> <user username="admin" password="password" roles="manager-script" /> </tomcat-users>
注意的问题:Tomcat7开始,同时同一个用户不能即是manager-gui,同时是 manager-script 或者 manager-jmx,所以需要有script权限,只加这一个即可。
1.2 Maven 认证
添加在上面Maven 设置文件的 Tomcat 用户,是之后Maven使用此用户来登录Tomcat服务器。
%MAVEN_PATH%/conf/settings.xml
<?xml version="1.0" encoding="UTF-8"?> <settings ...> <servers> <server> <id>TomcatServer</id> <username>admin</username> <password>password</password> </server> </servers> </settings> 如果是这么配置,id一定要与pom中的server节点内容相同。
也可以在pom中配置:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <charset>UTF-8</charset> <uriEncoding>UTF-8</uriEncoding> <url>http://172.20.41.201:8880/manager/text</url> <server>TomcatServer</server> <username>tomcat</username> <password>tomcat</password> <path>/jtjc_web</path> </configuration> </plugin>
注意的问题:1、url:必须到/manager/text下。2、path:为war包的名字。
1.3 Tomcat7 Maven 插件
声明一个Maven的Tomcat插件。
pom.xml
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://172.20.41.201:8880/manager/text</url> <server>TomcatServer</server> <path>/jtjc_web</path> </configuration> </plugin>
注意的问题:如果是项目是多个模块分开的,那么要么都要继承同一个父类pom,父类pom中包含上面的plugin配置;否则每一个模块的子pom中都要体现上面的plugin的配置,否则会报错。
1.4 发布到Tomcat
以下的命令是用来操纵Tomcat WAR文件,
注意的问题:使用deploy时确保tomcat的webapp下没有存在以上面path命名的项目在跑,如果有要用下面的redeploy命令。
mvn tomcat7:deploy mvn tomcat7:undeploy mvn tomcat7:redeploy