当前位置:首页 > Java技术文章 > maven tomcat plugin实现热部署

详解maven tomcat plugin实现热部署

  • 发布时间:
  • 作者:码农之家原创
  • 点击:130

这篇文章主要知识点是关于maven、tomcat、plugin、热部署、Idea配置maven-tomcat-plugin插件实现项目部署 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下java相关资源

企业级Java EE架构设计精深实践

本书全面、深入介绍了企业级Java EE设计的相关内容,内容涵盖了Java EE架构设计的常见问题。语言简洁,思路清晰,示例丰富、完整,适合具有一定Java基础的读者阅读,尤其适合从事企业级Java EE软件架构和设计的人员阅读

查看详情

maven tomcat plugin实现热部署

1、Tomcat7的用户及权限配置

要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限。

在tomcat的安装目录下,修改conf / tomcat-user.xml文件,在<tomcat-users>节点下面增加如下配置:

<role rolename="manager-gui" /> 
<role rolename="manager-script" /> 
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script" />   

2、Maven的server的配置

在Maven的安装路径找到,修改D:\develop_tools\maven\apache-maven-3.3.9\conf \setting.xml文件 ,在<server>节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致)

<server>  
  <id>tomcat7</id>  
  <username>tomcat</username>  
  <password>tomcat</password>  
</server> 

3、Web项目pom.xml的配置

3.1、apache官方tomcat插件的配置

tomcat7的配置:

<plugins> 
   <!-- 第一种方式: apache官方tomcat插件,支持deploy --> 
   <plugin> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.0-SNAPSHOT</version> 
     <configuration> 
       <url>http://localhost:8080/manager/text</url> 
       <server>tomcat7</server> 
     </configuration> 
   </plugin>  
</plugins> 

3.2 第三方tomcat插件,支持redeploy

tomcat7的配置:

<plugin> 
  <groupId>org.codehaus.mojo</groupId> 
  <artifactId>tomcat-maven-plugin</artifactId> 
  <version>1.1</version> 
  <configuration> 
    <url>http://localhost:8080/manager/text</url> 
    <server>tomcat7</server> 
    <ignorePackaging>true</ignorePackaging> 
  </configuration> 
</plugin> 

3.3 maven仓库的配置 (此为可选项):

<repository> 
  <id>people.apache.snapshots</id> 
  <url>http://repository.apache.org/content/groups/snapshots-group/</url> 
  <releases> 
    <enabled>false</enabled> 
  </releases> 
  <snapshots> 
    <enabled>true</enabled> 
  </snapshots> 
</repository> 

<pluginRepository> 
  <id>apache.snapshots</id> 
  <name>Apache Snapshots</name> 
  <url>http://repository.apache.org/content/groups/snapshots-group/</url> 
  <releases> 
    <enabled>false</enabled> 
  </releases> 
  <snapshots> 
    <enabled>true</enabled> 
  </snapshots> 
</pluginRepository> 

4、设置部署命令

一般使用搜是在eclipse中,可以右键点击需要部署的项目,Run as -> Run configurations -> maven build -> 右键 new,这样配置一个新的maven命令

具体配置命令方法:

1.在base directory中选择自己的项目
2.Goals的配置

如果使用apache的官方插件,那么就用 “tomcat7:deploy” 命令

如果使用第三方插件,那么就用 “tomcat:redeploy”命令

5、附相关错误及解决办法:

Connection refused错误

报错信息如下:

[ERROR]Failed to execute goal org.apache.tomcat.maven: tomcat7-maven-plugin: 2.0- SNAPSHOT: deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]

原因:未启动Tomcat服务器

解决办法:先启动Tomcat服务器再选择Run

undeploy 失败

在Window系统下执行在执行 mvn tomcat7:undeploy时,会有残留在tomcat目录下

解决方法:在tomcat的配置文件context.xml中 的< Context >标签中添加属性:antiJARLocking=”true”

antiResourceLocking=”true”

<Context antiJARLocking="true" antiResourceLocking="true">

401错误

报错信息如下:

[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.0-SNAPSHOT:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2Fhelloworld -> [Help 1]

原因:权限问题

解决办法在$CATALINA_BASE/conf/tomcat-users.xml,

如D:\apache-tomcat-7.0.34\conf\tomcat-users.xml文件中添加权限

<role rolename=”manager”/>
<user username=”admin” password=”admin” roles=”manager”/>

修改pom.xml文件,在<configuration> </configuration>中添加

<username>admin</username>
<password>admin</password>

403错误

报错信息如下:

[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.0-SNAPSHOT:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/html/deploy?path=%2Fhelloworld -> [Help 1]

原因:产生该问题有可能因为两个原因,具体参见解决办法

解决办法:

1)如果使用的是Tomcat 7,需要修改pom.xml中部署的url地址,将<url>http://localhost:8080/manager</url>改<url>http://localhost:8080/manager/text</url>

2)给tomcat用户权限分配上,需要同时具备manager-gui和manager-script权限,我在遇到该问题时,就是忘了分配manager-script权限。

正确的conf/tomcat-users.xml配置应为:

<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin” password="admin" roles="manager-gui, manager-script"/>
</tomcat-users>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

Idea配置maven-tomcat-plugin插件实现项目部署

参考文章:

maven tomcat plugin实现热部署:https://www.jb51.net/article/143054.htm

实现maven项目部署到服务器分为如下几个步骤:

  1. tomcat 的tomcat-users.xml中添加用户;
  2. maven 的settings.xml中添加server;
  3. pom.xml中添加tomcat7-maven-plugin插件配置;
  4. 在tomcat运行的情况下,运行 tomcat7:deploy 命令。

1、添加用户

在 标签内:

<role rolename="admin"/>  
<role rolename="admin-gui"/>  
<role rolename="manager"/>  
<role rolename="manager-script"/>  
<role rolename="manager-gui"/>  
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin,manager,manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/>

2、添加server

在 标签内:

<server>
 <id>Tomcat-8.0.29</id>
  <username>admin</username>
  <password>admin</password>
</server>

3、添加插件配置

<!-- Maven Tomcat Plugin -->
<plugin>
 <groupId>org.apache.tomcat.maven</groupId>
 <artifactId>tomcat7-maven-plugin</artifactId>
 <version>2.2</version>
 <configuration>
  <!--Deploy to server-->
  <url>http://localhost:8080/manager/text</url>
  <server>Tomcat-8.0.29</server>
  <username>admin</username>
  <password>admin</password>
  <path>/CrowFunding</path>
  <port>8080</port>
 </configuration>
</plugin>

4、运行 tomcat7:deploy

Idea配置maven-tomcat-plugin插件实现项目部署

注:tomcat为运行状态方起作用,否则部署失败。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。如果你想了解更多相关内容请查看下面相关链接

以上就是本次给大家分享的关于Java的全部知识点内容总结,大家还可以在下方相关文章里找到实例详解mybatis的插件机制、 javascript数值强制转换方法、 自定义BufferedReader中read和、 等java文章进一步学习,感谢大家的阅读和支持。

上一篇:Java ArrayList底层实现代码分析

下一篇:Spring Cloud几行配置完成单点登录开发实例讲解

展开 +

收起 -

maven tomcat plugin实现热部署 相关内容
JavaScript框架设计

JavaScript,框架设计

查看详情
实战Java高并发程序设计

并发和多线程经典图书升级版,详解Java高并发程序设计基础、思路、方法和实战,技术提升走向高级工程师必备。

查看详情
JavaScript函数式编程指南

这书关键介绍怎样根据ECMAScript6将函数式编程关键技术于编码,以减少编码的多元性。这书共三一部分內容。*一部分函数式观念是为第二一部分的学习培训作铺垫的,这一部分引入了对函数式

查看详情
Java虚拟机基础教程

概述JVM及其特性,介绍了Java、Scala、Clojure、Kotlin和Groovy这5种基于JVM的语言,分别探讨它们的特性和用例,适合所有Java开发人员以及对JVM感兴趣的读者

查看详情
Java入门经典 查看详情
Java工程师修炼之道

本书主要针对一名合格的Java工程师的必备技能做了大纲性的总结和阐述。

查看详情
移动网页设计与开发:HTML5+CSS3+JavaScript

将落伍的网址打导致更为灵便、友善,而且令其充分运用不一样机器设备和电脑浏览器的与众不同优点。根据《移动网页设计与开发HTML5+CSS3+JavaScript》,您将为投身第一线开发充分准备! *內容

查看详情
maven tomcat plugin实现热部署 学习笔记
网友NO.620521

Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

问题出现原因: 使用自己下载的tomcat运行maven项目,其中有图片上传模块,图片全部上传到target目录下的工程文件里。结果使用maven的clean插件时,图片全部被删除。 目录如下: 为了解决这个问题,想了如下几种方法: 更改output directory目录 Tomcat 增加虚拟目录。但Intellij idea里的工程运行的是 catalina.sh run 命令,工程外的文件路径访问不到 在第2种方法的基础上,同时运行Tomcat/bin/startup.sh脚本,但比较麻烦。 将图片保存到在线服务器,使用IP访问地址(最终部署到服务器使用)。 最后看到使用 Maven-Tomcat-Plugin 插件部署工程的方法,试了一下,发现一个问题,这种使用tomcat插件的方式和用自己配置的tomcat所获取的服务器路径不一样! 使用自己配置tomcat上传的路径为: 使用maven-tomcat插件上传的路径为: 区别为: 原因: 自己配置的tomcat的output directory为……

网友NO.589014

Maven+Tomcat8 实现自动化部署的方法

本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下: 1.配置tomcat-users.xml 首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): role rolename="tomcat"/role rolename="manager"/role rolename="manager-gui"/role rolename="manager-script" /role rolename="admin-gui"/user username="admin" password="admin" roles="tomcat,manager,manager-script,admin-gui" /user username="tomcat" password="tomcat" roles="manager-gui" / 2.配置maven setting.xml 修改Maven的setting.xml(默认是C:\Users\用户名.m2\settings.xml),在节点下添加 server idtomcat7/id usernameadmin/username passwordadmin/password/server 3.配置pom.xml 这里我是要部署到Tomcat 根目录,所以这里将path写成ROOT了 plugin groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId version2.2/version configuration urlhttp://127.0.0.1:8080/manager/text/url servertomcat7/server path/ROOT/path charsetutf8/charset updatetrue/……

网友NO.173521

IntelliJ IDEA使用maven实现tomcat的热部署

在tomcat的conf目录 tomcat-users.xml配置以下内容(tomcat-users标签内/tomcat-users),用于部署: role rolename="manager"/ role rolename="manager-gui"/ role rolename="admin"/ role rolename="admin-gui"/ role rolename="manager-script"/ user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager,manager-script"/ 启动tomcat,访问 http:ip:8080/manager 验证tomcat用户是否配置成功 在maven工程的pom.xml中配置插件 plugin groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId configuration port8080/port path/mvc/path urlhttp://192.168.43.128:8080/manager/text/url usernametomcat/username passwordtomcat/password /configuration /plugin 运行配置 点击Run--Edit Configurations 点击+号,选择Maven , 输入信息 Name 给运行配置取的名称 Working directory(工程目录) Command line 命令 tomcat7:deploy 或 tomcat7:redeploy 点击确定,保存。 在Run菜单下找到刚做好的配置,运行……

网友NO.214325

Eclipse中导入Maven Web项目并配置其在Tomcat中运行图文详解

今天因为实习的关系需要讲公司已经开发的项目导入进Eclipse,而公司的项目是用Maven来构建的所以,需要将Maven项目导入进Eclipse下。 自己因为没有什么经验所以搞了得两个多小时,在这里和大家分享一下自己的经验已经在这之中遇到的一些问题。 首先我通过svn将公司的项目checkout到了本地。 因为Maven遵循的是规约比配置重要的原则,所以Maven项目的结构一般是进入目录后是一个pom.xml文件和一个src文件夹,当然可能还存在一些README之类的这些都不重要,最关键的就是pom.xml和src文件夹,在src下,src/main/java一般就是放置的项目的源代码,在src/test/java下放置的是测试代码。 打开Eclipse,当然在做导入工作之前,首先确保你已经安装了Maven并且已经在Eclipse中加入了Maven得插件。 确保上面的安装工作已经进行过后,在Eclipse中点击"File"-Import-Maven 然后选择 Existing……

网友NO.798749

maven利用tomcat插件部署远程Linux服务器的步骤详解

前言 本文主要给大家介绍了关于maven利用tomcat插件部署远程Linux服务器的相关内容,分享出来供大家参考学习,下面话不多说了,来一看看详细的介绍吧。 环境 服务器: Ubuntu 16.04(阿里云服务器) jdk版本:1.8 相关的maven插件: 这个插件的目的在于部署时,跳过测试 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId version2.18.1/version configuration skipTeststrue/skipTests /configuration/plugin tomcat 插件plugin groupIdorg.apache.tomcat.maven/groupId artifactIdtomcat7-maven-plugin/artifactId version2.2/version configuration path/myweb/path port80/port uriEncodingUTF-8/uriEncoding urlhttp://XXXXX/manager/text/url !-- 这边的/manager/text 是必须的,而前面是你的主机。例如 http://localhost/manager/text -- usernameXXXX/username !-- 用于远程登录的账号,后边会再说到 -- passwordXXXX/password !-- 用于远程登录的密码,后边会再说……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757