好久没有写博客了,今天为大家分享一下如何在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. 用fastjson反序列化 带泛型的类

    ServiceResult<User> serviceResult = JSON.parseObject(obtainResult, new TypeReference<Servic ...

  2. 多IDC GSLB的部署 - ADC技术博客 - 51CTO技术博客

    多IDC GSLB的部署 - ADC技术博客 - 51CTO技术博客 A10

  3. java_hibernate

    入门:http://jingyan.baidu.com/article/cbf0e500965a352eab289368.html 步骤1.查看是否hibernate支持:file-->plug ...

  4. SONY 手提 realtek high definition audio driver

    SONY 手提 realtek high definition audio driver: 官方网站下载:http://www.realtek.com.tw/downloads/downloadsVi ...

  5. JAVA常见算法题(二十七)

    题目:给定一个存放整数的数组,请写一个算法,把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. package com.forezp.util; /** * 题目:给定一个存 ...

  6. LVM分区管理和扩展

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它 ...

  7. OpenGL实现多层绘制(Layered Rendering) [转]

    http://blog.csdn.net/u010462297/article/details/50589991 引言 在某些情况下会需要用到多层绘制.FBO下有多个颜色挂接点(Color Attac ...

  8. kubelet分析

    kubelet是k8s中节点上运行的管理工具,它负责接受api-server发送的调度请求,在Node上创建管理pod,并且向api-server同步节点的状态.这篇文章主要讲讲kubelet组件如何 ...

  9. Chrome 37 Beta: 使用Windows的DirectWrite和支持<dialog>元素

    今天的Chrome Beta 发布版包含了许多新的开发者特性.这些特性帮助你制作更丰富的.更迅速的和更引人入胜的网页内容以及应用程序,尤其是移动设备上.除非特别指出,否则下面描述的变化对Android ...

  10. netty handlers模式

    netty的handler模式真的挺方便的,可以像插件一样随意的插入自己新增的功能而不用队系统进行大的变动. 下面我们来看一下这个模式是如何实现和运行的. 待续...