好久没有写博客了,今天为大家分享一下如何在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. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目

    Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...

  2. Python图像处理(16):图像金字塔

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 图像金字塔是图像中多尺度表达的一种,最初用于机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形 ...

  3. 如何格式化被压缩的JS代码以方便阅读

    本文分两部分: 1.转载部分 2.个人补充部分 1.主题内容转载83,http://www.madeby83.com/unzip-the-js-code.html 我们经常可以看到一些网站,把所需的j ...

  4. IReferenceCounted DotNetty.Common

    // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file ...

  5. 三位一体的漏洞分析方法-web应用安全测试方法

    本文转自乌云知识库 0x00 前言 节选自: http://www.owasp.org.cn/OWASP_Conference/owasp-20140924/02OWASPWeb20140915.pd ...

  6. vue - rimraf

    rimraf 包的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除 const rimraf = require('rimraf'); rimraf('./t ...

  7. $ gulp watch 运行出错解决方法

    $ gulp watch 运行出错解决方法   $ gulp watch     如果你出现了如下报错信息: gulp-notify: [Laravel Elixir] Browserify Fail ...

  8. IOS Exception2 this class is not key value coding-compliant for the key Click

    2015-06-16 23:00:53.706 MyIOSPackage[823:280049] *** Terminating app due to uncaught exception 'NSUn ...

  9. css样式布局中position的那些事儿

    哎,页面布局及设计开发.对于一个一直从事后台开发来说屌丝来说,确实是件非常费时.费力,非常艰难的一件事. 今晚是想实现把多张重叠在一起.或是标记一张图片中不同的位置然后赋以超链接.花了一晚上的时间,才 ...

  10. 【Python3 爬虫】07_正则表达式(原子)

    原子是正则表达式的最基本的组成单位,而且在每个模式中最少包含一个原子.原子是由所有那些未显示指定为元字符的打印和非打印字符组成. 原子分类 1.普通字符作为原子 普通字符是编写正则表达式时最常见的原子 ...