Tomca7/8 与 tomcat6 的部署有小小区别。
一、Tomca7/8 教程
1.1 Tomcat Authentication
添加有 manager-gui、 manager-script 角色的用户到tomcat用户配置中:
%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" />
...
</tomcat-users>
1.2 Maven Authentication
把以上 Tomcat user 添加到 Maven 配置文件中,稍后 Maven 将使用该账号管理及部署项目到 Tomcat 中。
修改配置文件:全局的 %M2_HOME%/conf/settings.xml 或用户级的 ~/.m2/settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
...
<servers>
<server>
<id>tomcat7</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
...
</settings>
说明:
- id 是该 server 的 ID 标识。
- username 对应 Tomcat 中配置 user 的 username
- password 对应 Tomcat 中配置 user 的 password
1.3 Tomcat7 Maven Plugin
pom.xml
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat7</server>
<path>/myapp</path>
</configuration>
</plugin>
说明:
- 虽然插件坐标是 tomcat7-maven-plugin,但是对 Tomcat8 也能使用。
- url 是 Tomcat 部署的地址,端口号按实际情况修改。
- server 对应 Maven settings.xml 文件中配置的 server ID。
- path 是项目部署到 Tomcat 后的项目名称(上下文)。不能只写成:/ 。但也必须以 / 开头! 一般与项目 artifactId 一致可以这样写:
<path>/${project.artifactId}</path>
工作过程:Maven 通过 http://localhost:8080/manager/text 部署 war 到 Tomcat,访问该项目的路径是 /myapp ,使用 settings.xml 中的 ID 为 tomcat7 的 username 和 password 进行 Tomcat 身份认证。
1.4 Deploy to Tomcat
Warn:前提是先启动 Tomcat !
三个命令:部署、移除部署、重新部署:
# mvn tomcat7:deploy
# mvn tomcat7:undeploy
# mvn tomcat7:redeploy
虽然是 tomcat7 字样,但是对 Tomcat8 也适用!
二、Tomcat6 上的小区别
其他步骤过程都一样。
pom.xml:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/html</url>
<server>tomcat6</server>
<path>/myapp</path>
</configuration>
</plugin>
区别:
- artifactId 坐标是 Tomcat6:tomcat6-maven-plugin。
- url 是 http://localhost:8080/manager/html,Tomcat7/8 的结尾是 text。
部署命令:
# mvn tomcat6:deploy
# mvn tomcat6:undeploy
# mvn tomcat6:redeploy
区别:
- 目标是 tomcat6,而 Tomcat7/8 的是 tomcat7。
三、其他常用 Gold
Gold | 说明 |
---|---|
mvn tomcat6:start | To start a WAR in Tomcat |
mvn tomcat6:stop | To stop a WAR in Tomcat |
mvn tomcat6:sessions | To list the session statistics for a deployed WAR project |
tomcat:run | 启动内嵌的 Tomcat 并运行当前项目 |