好久没有写博客了,今天为大家分享一下如何在eclipse通过maven远程发布应用到Tomcat。 
一般情况下,我们发布应用到服务器需要现将应用导出成war包,然后连接服务器部署更新,这样是很耗时的,而且不方便,作为一名程序员要寻找尽可能简洁的方式去处理类似应用发布的重复的操作。 
maven是非常好的组织包工具,我们现在就来使用maven实现远程发布应用到Tomcat服务器。

我的开发环境信息:

maven:3.3.9 
Tomcat:8.0.35

第一步:配置Tomcat角色权限信息 
修改tomcat-users.xml文件,向其中添加如下信息(用户名密码以实际为准):

<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin123" roles="admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修改完成后,启动并访问Tomcat测试配置是否生效。 

单击Manager App按钮,在弹出的对话框中输入刚才配置的用户信息,最后单击登录按钮,成功登录即为配置成功。

第二步:修改maven的setting.xml配置文件,添加服务器信息

<server>
<id>devTomcat</id>
<username>admin</username>
<password>admin123</password>
</server>
  • 1
  • 2
  • 3
  • 4
  • 5

这里面的用户名及密码信息要和第一步中配置的一致。

第三步:打开maven项目的pom.xml文件,向其中添加如下配置

<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://172.20.6.169/manager/text</url>
<server>devTomcat</server>
<path>/dev</path>
</configuration>
</plugin>
</plugins>
</build>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这段配置中: 
url为远程Tomcat服务器地址,理论上只要更换IP地址就可以了,server为maven配置文件中位置的服务器信息的id,path为应用最后发布的上下文路径。

第四步:配置Goals为:tomcat:redeploy 
在项目上右击,选择Run As->Maven Build,在弹出的对话框中输入Goals的值为tomcat:redeploy,最后单击Run按钮,开始编译发布。这一步在配置完成后,再次单击Maven Build会直接编译发布,挂差控制台输出信息,输出形如下方的内容即为发布成功

[INFO] Deploying war to http://172.20.6.169/dev 
[INFO] OK - Deployed application at context path /dev 
[INFO] ———————————————————————— 
[INFO] BUILD SUCCESS 
[INFO] ———————————————————————— 
[INFO] Total time: 20.254 s 
[INFO] Finished at: 2016-10-09T16:05:16+08:00 
[INFO] Final Memory: 14M/228M 
[INFO] ————————————————————————

如果日志中输出404错误,请检查url配置的是否正确,如果输出403错误,请检查Tomcat用户角色配置是否正确。

至此,我们就完成了通过maven远程发布应用到Tomcat的配置。

小提示: 
在编译发布项目的时候,Maven可能会编译测试代码导致编译发布失败,我们可以在pom.xml中添加如下配置,跳过测试代码的编译

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

eclipse通过maven远程发布应用到Tomcat的更多相关文章

  1. Maven远程发布项目到tomcat

    向tomcat发布项目,每次都要打包传送再运行,非常麻烦.偶然一天发现maven有插件可以直接发布到tomcat.今天把大体过程介绍给大家. 首先在pom中配置tomcat插件: <plugin ...

  2. idea/eclipse下Maven工程集成web服务(tomcat、jetty)

     idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html 应用服务器最常用的一般有这哥仨: ...

  3. Eclipse+Maven远程部署项目到Tomcat中

    使用maven的自动部署功能可以很方便的将maven工程自动打包并且部署到远程tomcat服务器,省去一些繁琐的操作,节省大量时间. 我使用的tomcat版本是8.5,tomcat7和tomcat8都 ...

  4. 在eclipse中maven web项目部署到tomcat,访问不了

    修改eclipse中tomcat发布路径后,能正常访问

  5. Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案

    Eclipse导入web项目后,将web项目加载到server进行发布时,提示Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java ...

  6. Idea maven远程调试(pom配置tomcat)

    服务器端,maven内置tomcat启动命令:mvnDebug clean tomcat7:run -Dmaven.test.skip=true 服务器端:配置(vim或者文件模式打开mvnDebug ...

  7. 在eclipse中maven构建Web项目,tomcat插件在maven中的运用

    1.选中maven,构建maven  web 2.项目构建好之后发现一个错误如图,是因为没有servlet的API,我们需要在pom.xml 中对servlet的API进行依赖 pom.xml如下即可 ...

  8. eclipse+maven远程(自动)部署web项目到tomcat

    [转自] http://blog.csdn.net/dhmpgt/article/details/11197995 eclipse集成maven后可以用maven命令把web项目自动部署到tomcat ...

  9. 转载Eclipse中Maven WEB工程tomcat项目添加调试

    转载地址: http://blog.csdn.net/free4294/article/details/38260581 一.建立一个maven  WEB项目 1.file->new->o ...

随机推荐

  1. 从系统相册中选择GIF图片上传到服务器

    -(void)assetPickerController:(ZYQAssetPickerController *)picker didFinishPickingAssets:(NSArray *)as ...

  2. 使用ASP.Net WebAPI构建REST服务(七)——调试工具

    由于WebAPI本身是基于HTTP协议的,在开发过程中,我们可以使用浏览器或Fiddler等HTTP工具辅助开发.与此同时,微软也提供了一些工具方便我们调试,使得开发更加简单快捷,本文就简单的介绍一下 ...

  3. Delphi 获取sqlite中所有的表名

    取得sqlite数据库里所有的表名 查询table,type 段是'table',name段是table的名字, so: select name from sqlite_master where ty ...

  4. delphi 获取USB口拔出和插入的状态

    unit USBDeviceNotify;//USB Device arrival or removeinterface uses  Windows, Messages, SysUtils, Clas ...

  5. Android线程与线程池

    引言 在Android中,几乎完全采用了Java中的线程机制.线程是最小的调度单位,在很多情况下为了使APP更加流程地运行,我们不可能将很多事情都放在主线程上执行,这样会造成严重卡顿(ANR),那么这 ...

  6. Lucene的学习及使用实验

    实验一下Lucene是怎么使用的. 参考:http://www.importnew.com/12715.html (例子比较简单) http://www.yiibai.com/lucene/lucen ...

  7. driver: Linux设备模型之input子系统具体解释

    本节从总体上解说了输入子系统的框架结构.有助于读者从总体上认识linux的输入子系统.在陷入代码分析的过程中,通过本节的知识可以找准方向,明确原理. 本节重点: 输入子系统的框架结构 各层相应内核中的 ...

  8. HTTP——HTTP 1.1的详细介绍 Gunicorn不支持HTTP 1.1

    从前面一小节的表格里,我们可以看到,Gunicorn 的一个缺点是不支持HTTP 1.1.那么 HTTP 1.1 究竟是怎么一回事呢?我们选择 HTTP 服务器在什么情况下需要考虑对 HTTP 1.1 ...

  9. ant-design 实现 搜索功能

    1.逻辑代码 list.js /** * 用户列表页 */ import React,{ PureComponent } from 'react' import {connect} from 'rea ...

  10. jmeter测试TCP服务器/模拟发送TCP请求 设置16进制发送(转)

    转载留存:http://blog.sina.com.cn/s/blog_46d0362d0102v8ii.html 性能测试需要模拟多种场景,经常受制于资源限制,没办法建立贴近实际部署环境的场景.因而 ...