一、在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-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。常见的用户角色和权限如下:
1、manager-gui
允许访问html接口(即URL路径为/manager/html/*)
2、manager-script
允许访问纯文本接口(即URL路径为/manager/text/*)
3、manager-jmx
允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
4、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/*。
没有manager-gui就不能通过浏览器去访问manage应用,没有manager-script就不能通过manage去上传war包达到部署的目的。
先在Tomcat8中配置用户和角色:
比如在C:\ProgramFiles\Apache Software Foundation\Tomcat 8.0\conf找到
tomcat-users.xml,找到最后的:添加
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password"roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
二、在maven添加插件
<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>Tomcat8Server</server>
<username>admin</username>
<password>password</password>
</configuration>
</plugin>
三、修改
为了让maven可以访问tomcat的权限,所以需要把如上创建的用户添加到settings.xml中,
1. <server>
2. <id>tomcat6</id>
3. <username>admin</username>
4. <password>admin</password>
5. </server>
四、发布
在部署之前,必须先启动tomcat7服务,C:\Program Files\apache-tomcat-6.0.32\bin\startup.bat
找到要部署的工程文件根目录下,执行如下maven命令
> mvn clean:install //clean是清理输出文件,install编译打包,在每次打包之前必须执行clean,才能保证发布为最新文件
> mvn tomcat6:redeploy //第一次发布 tomcat6:deploy,再次发布 tomcat6:redeploy