maven远程部署到tomcat8服务器

maven远程部署到tomcat8服务器

环境准备

  1. linux服务器一台
  2. 服务器安装JDK
  3. 服务器安装Tomcat

服务器Tomcat8配置

  1. 添加Tomcat权限
    配置文件路径: tomcat/conf/tomcat-users.xml
    <tomcat-users> </tomcat-users>标签之间添加如下内容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="yourname" password="yourpassword" roles="manager-gui,manager-script"/>
  1. 修改部署IP限制
    默认只能由本地IP进行部署,这里需要将其设置为任意IP都可部署
    配置文件路径: tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

改为

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

这里是修改allow属性的正则表达式,使之可以匹配任意IP地址

Maven项目POM.XML文件配置

添加maven-tomcat8插件

  <pluginRepositories>
    <pluginRepository>
      <id>tomcat8-plugin</id>
      <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>
      <!-- 配置Tomcat8插件 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat8-maven-plugin</artifactId>
        <version>3.0-r1756463</version>
        <configuration>
          <!-- 将IP改为主机IP,其他不变 -->
          <url>http://IP:8080/manager/text</url>
          <!-- 项目名称,访问路径为  localhost:8080/projectName -->
          <!-- 当设置为 / 时, 即为 localhost:8080/, 但是注意会覆盖ROOT项目 -->
          <path>/projectName</path>
          <!-- tomcat账号密码 -->
          <username>yourname</username>
          <password>yourpassword</password>
        </configuration>
      </plugin>
    </plugins>
  </build>

部署命令

部署时需要服务器先启动tomcat

  1. 第一次部署 mvn tomcat8:deploy
  2. 再次部署 mvn tomcat8:redeploy
    注意,当部署到 / 时,应使用再次部署命令,因为Tomcat自带一个ROOT项目
posted @ 2019-05-08 19:39  bosslv  阅读(1073)  评论(0编辑  收藏  举报