在Maven中使用Tomcat组件

来源:互联网 发布:如何禁止mac电脑上网 编辑:程序博客网 时间:2024/06/06 04:02

在Maven中使用Tomcat组件能够方便我们对web项目的调试,Maven中Tomcat组件有两个版本,一个是Tomcat,一个是Tomcat7,下面我们以tomcat7为例演示它的配置过程:

1. Tomcat 认证:添加用户

为Tomcat添加具有角色管理器GUI和管理脚本的用户,作用是让Maven具有在Tomcat下发布项目,移除项目等操作权限。
在Tomcat的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>

在浏览器中打开http://localhost:8080/manager,出现身份验证的界面,输入刚才添加的用户名和密码:
这里写图片描述
如果登录后显示如下界面,则Tomcat添加用户成功。
这里写图片描述

2. Maven 认证:添加server节点

在Maven的settings.xml文件中添加之前创建的Tomcat用户,之后Maven使用此用户来登录Tomcat服务器。

<?xml version="1.0" encoding="UTF-8"?><settings ...>    <servers>        <server>            <id>tomcat7</id>            <username>admin</username>            <password>password</password>        </server>    </servers></settings>

3. 添加Tomcat7 Maven 插件

在Maven项目的pom.xml中添加Tomcat7插件:

<plugins>        <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>                <port>8080</port>                <path>/springmvc</path>            </configuration>        </plugin>    </plugins>

这里需要注意:

  • server是Tomcat服务器名称,要与settings.xml中添加的server节点名称一致。
  • path是访问应用的路径。(一般是写成自己的项目名,我使用的项目名称springmvc)
  • url是Tomcat管理页路径。
  • port指定端口。

4. 原理

在部署期间,它告诉Maven通过“/ springmvc”路径上的“http:// localhost:8080 / manager / text”将WAR文件部署到Tomcat服务器,使用的是“tomcat7”(在settings.xml中)的用户名和密码认证。

5. 部署项目

Eclipse中右键Maven项目->Run As->Maven Build:
使用tomcat7:deploy 命令进行部署(重新部署是:tomcat7:redeploy):
这里写图片描述

补充

如果觉得这样配置有些麻烦,那我们还有一种比较简便的方法:在Tomcat中添加完用户后,不在settings.xml中配置server节点,而是直接将节点配置在Maven项目的pom.xml中,如下:在configuration中将username跟password添加上即可:

 <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>                <username>admin</username>                <password>password</password>                <port>8080</port>                <path>/springmvc</path>            </configuration>        </plugin>

然后进行项目部署即可。

如果你在部署过程中tomcat组件报错,那么可以参考这篇文章Maven使用Tomcat组件出现错误的解决方案进行排错。