maven使用远程tomcat部署项目

来源:互联网 发布:java se技术文档 编辑:程序博客网 时间:2024/04/28 11:47

 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 ,并运行当前项目初次部署用的是tomcat7:deploy命令,重新部署可以用tomcat7:redeploy命令(推荐统一用这个),Tomcat Maven插件支持的命令包括:run、shutdown、run-war-only、exec-war、standalone-war-only、deploy、standalone-war、undeploy、run-war、redeploy


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节点表示单个用户,属性usernamepassword分别表示登录的用户名和密码,属性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-guimanager-scriptmanager-jmx均具备manager-status的权限,也就是说,manager-guimanager-scriptmanager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径/manager/status/*

资源参考

----http://www.365mini.com/page/tomcat-manager-user-configuration.htm

----http://blog.csdn.net/binyao02123202/article/details/17793233


1 0