maven使用远程tomcat部署项目
一,在maven的<build><plugins>.....</plugins></build>插件里面加上
<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>tomcat</server>
<username>admin</username>
<password>admin</password>
<path>/${finalName}</path>
<port>8080</port>
<encoding>utf-8</encoding>
<uriEncoding>utf-8</uriEncoding>
<update>true</update>
</configuration>
</plugin>
简要说明一下:
path 是访问应用的路径
port 是tomcat 的端口号
uriEncoding URL按UTF-8进行编码,这样就解决了中文参数乱码。
Server 指定访问tomcat时使用的服务名称。
url指定了要发布的远程tomcat服务的发布地址.可使用本地安装的tomcat部署项目,如果地址是云服务器的则部署在服务器上,如果本地tomcat和云服务器的tomcat没有安装或者开启,则可以使用tomcat:run使用maven里的内嵌的tomcat插件运行项目Tomcat 7
Deploy URL = http://localhost:8080/manager/text
Command = mvn tomcat7:deploy
Tomcat 6
Deploy URL = http://localhost:8080/manager/
Command = mvn tomcat6:deploy
需要在依赖中加上runtime相关的类
二,在tomcat安装目录下找到tomcat-users.xml,加上
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-script,manager-gui"/>
三,在maven的安装目录下的setting.xml里<servers></servers>加上
<Server>
<id>tomcat</id><!--上面的server填写的名称-->
<username>admin</username>
<password>admin</password>
</Server>
如果Eclipse 安装了Maven插件,选 择pom.xml文件,击右键——>选择 Run As——> Maven build (第二个)->tomcat:start
下面介绍几个常用的Goal
命令 | 描述 |
tomcat:deploy | 部署一个web war包 |
tomcat:reload | 重新加载web war包 |
tomcat:start | 启动tomcat |
tomcat:stop | 停止tomcat |
tomcat:undeploy | 停止一个war包 |
tomcat:run | 启动嵌入式tomcat ,并运行当前项目 |
tomcat Manager的相关资料---
Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Manager也成为了使用非常普遍的功能应用。
在默认情况下,Tomcat Manager是处于禁用状态的。准确地说,Tomcat Manager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。
Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml
文件中进行管理的。
Tomcat Manager的用户配置非常简单,下面我们以一个具体的配置为例:
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui"/> <user username="admin" password="123456" roles="manager-script"/> </tomcat-users>
如上所示,我们只需要在tomcat-users
节点中配置相应的role
(角色/权限)和user
(用户)即可。一个user
节点表示单个用户,属性username
和password
分别表示登录的用户名和密码,属性roles
表示该用户所具备的权限。
user
节点的roles
属性值与role
节点的rolename
属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles
的值可以是多个rolename
,多个rolename
之间以英文逗号隔开即可。
稍加思考,我们就应该猜测到,rolename
的属性值并不是随意的内容,否则Tomcat怎么能够知道我们随便定义的rolename
表示什么样的权限呢。实际上,Tomcat已经为我们定义了4种不同的角色——也就是4个rolename
,我们只需要使用Tomcat为我们定义的这几种角色就足够满足我们的工作需要了。
以下是Tomcat Manager 4种角色的大致介绍(下面URL中的*为通配符):
-
manager-gui
- 允许访问html接口(即URL路径为/manager/html/*) manager-script
- 允许访问纯文本接口(即URL路径为/manager/text/*) manager-jmx
- 允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*) manager-status
- 允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
从Tomcat Manager内部配置文件中可以得知,manager-gui
、manager-script
、manager-jmx
均具备manager-status
的权限,也就是说,manager-gui
、manager-script
、manager-jmx
三种角色权限无需再额外添加manager-status
权限,即可直接访问路径/manager/status/*
。
----http://www.365mini.com/page/tomcat-manager-user-configuration.htm
----http://blog.csdn.net/binyao02123202/article/details/17793233