思路:配置 Eclipse 自动执行一个Ant脚本,在Ant脚本内自己定义热部署的步骤,这样在每个文件更新后就可以自动部署到服务的目录中了。

一、配置Eclipse 工程自动执行一个Ant 脚本。

1.右健项目工程--builders--import--选择当前项目下的build.xml,对于我现的工程,Ant 文件在D:\eclipse\workspace\工程名\plugins\hotcopy\hot-copy.xml

2.选中选择的build.xml--Edit--targets--Auto Build--set Targets--选择要自动build的targetName,对于我的工程,targetName为  工程名hot-copy.xml

3、配置build参数,在下面界面上可以看到

-Dresource_loc=${resource_loc}
-Dresource_path=${resource_path}
-Dresource_name=${resource_name}
-Dwar.deploy.dir=D:\jboss-4.0.2\server\default\deploy\bap.war

war.deploy.dir:表示服务器的路径,需要改变,其他三个参数只有原样复制即可。

其配置界面如下:

二、编写自动部署文件:D:\eclipse\workspace\工程名\plugins\hotcopy\hot-copy.xml

其内容如下:

<?xml version="1.0"?>
<project name="deploy"><!--引用了ant-contrib-1.0b3.jar包,需要放到当前目录\lib目录下-->
<path id="ant.contrib.lib"><fileset dir=""><include name="**/*jar" /></fileset></path><taskdef resource="net/sf/antcontrib/antcontrib.properties"><classpath><path refid="ant.contrib.lib" /></classpath></taskdef><target name="deploy.hotcopy">
<!--resource_loc:需要传入的变量,在上的Eclipse图中可以看到,引用Eclipse的环境变量即可-->        <available property="is.present" file="${resource_loc}" /><available property="is.dir" file="${resource_loc}" type="dir" /><condition property="is.file"><and><isset property="is.present" /><not><isset property="is.dir" /></not></and></condition><antcall target="deploy.hotcopy.webdocs" /></target><target name="deploy.hotcopy.webdocs" if="is.file"><if><!--只有当前的文件、文件夹的路径中存在webdocs才进行拷贝,只是根据工程目录规划决定的-->        
<contains string="${resource_path}" substring="\webdocs" /><then><propertyregex property="webdocs-path" input="${resource_path}" regexp=".*\\webdocs(\\.*)\\${resource_name}" select="\1" casesensitive="true" /><if><isset property="webdocs-path" /><then><property name="target.dir" value="${war.deploy.dir}${webdocs-path}" /></then><else><property name="target.dir" value="${war.deploy.dir}" /></else></if><copy todir="${target.dir}" preservelastmodified="true" file="${resource_loc}" /></then></if></target>
</project>

对于一个普通的XML文件,打印出resource打的相关变量,有利于理解.

[echo] resource_loc:D:\eclipse\workspace\工程名\src\webdocs\decorators\level-2-page-decorator.jsp
     [echo] resource_path:\工程名\src\webdocs\decorators\level-2-page-decorator.jsp
     [echo] resource_name:level-2-page-decorator.jsp

三、总结

做了上面的配置,Eclipse会检查每一个新修改的文件,看是否需要拷贝,所以Eclipse 的速度会变慢。所以实现的效果并不是太好,但是这种机制很好,Eclipse自动调用我们编写的Ant文件,可以执行任何操作。

Eclipse配置工程自动执行ant实现热部署相关推荐

  1. eclipse配置PHP自动提示代码

    为什么80%的码农都做不了架构师?>>>    配置php自动提示代码 (html/js和PHP方法一样) 1. 打开 Eclipse的 Window -> Preferenc ...

  2. html自动刷新 idea_IDEA设置热部署

    之前用Eclipse的时候,可以下载插件jrebel进行热部署,但是换成idea后,怎么部署都不行,只能用idea自带的热部署了. idea自带的热部署,只能对方法内进行的更改进行重新加载,如果是新增 ...

  3. idea热部署html页面,idea热部署(自动刷新)

    在原先使用eclipse的时候很容易布置了热部署 但是在idea的使用中写html的文件时候总是需要去重启浪费了很多时间 所以这篇博客主要讲解的是idea的热部署 配置idea的热部署需要两个步骤 一 ...

  4. SAP S/4HANA生产订单创建之后,为什么会自动执行action

    从生产订单创建的调用栈就能发现: 第114行的注释意思就是根据action profile的配置,自动执行action: 如果profile的FLG_REL_CR字段包含X,就执行第88行的函数 CO ...

  5. Intellij IDEA 安装和配置热部署插件JRebel进行项目的热部署

    最近在做一些前端调整,发现每次都要重启很麻烦,因为之前使用的MyEclipse就可以进行项目热部署,修改完前端页面后直接刷新就可以生效,IDEA应该也可以实现,网上搜索一番发现记录的都不是很清楚,写下 ...

  6. Windows系统设置定时任务自动执行Jmeter脚本

    背景: 这两天有个线上项目需要进行稳定性压测,由于担心白天压测会导致用户使用出现异常被投诉,需要在晚上10点以后进行压测,为了不让自己傻傻的等到深夜去操作执行jmeter脚本,打算用Windows自带 ...

  7. 一种简单快捷的 java 热部署方式

    作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 [Arthas 官方社区正在举行征文活动,参加即有奖品拿~点击投稿] Arthas Hot Swap 插件介绍 引言 热部署是帮助开发人员提高效率的利 ...

  8. java 热布署 开源_一种简单快捷的 java 热部署方式

    作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 [Arthas 官方社区正在举行征文活动,参加即有奖品拿~点击投稿] Arthas Hot Swap 插件介绍 引言 热部署是帮助开发人员提高效率的利 ...

  9. springboot+IntelliJ IDEA实现热部署

    问题:在没有使用springboot前,我们很方便的可以使用开发工具的热部署功能,在此不赘述之前的方法了,而使用springboot集成开发后就可以继续使用热部署么?答案是肯定的 解决方法:分三步走 ...

最新文章

  1. Java中的一直不能掌握的switch-case语句
  2. php程序员学什么语言好就业_php语言是什么?学好php需要掌握什么?
  3. 每日程序C语言23-求一个正整数的位数并逆序打印
  4. java iframe主界面_利用iframe实现各个页面跳转
  5. 细数python标准库中低调的模块
  6. 20200120:(leetcode)盛最多水的容器 两种解法
  7. mongo源码学习(四)服务入口点ServiceEntryPoint
  8. 函数强化练习2(py引入模块、包)
  9. 解决上传窗口弹不出的问题
  10. ROST情感分析的语法规则_大数据之数据仓库Hive架构分析
  11. 相关系数excel_如何用Excel计算投资组合的有效前沿?
  12. python中单引号的作用_python里的单引号和双引号的有什么作用
  13. linux每个进程有4g,32位Linux单进程有4G内存限制
  14. take off用法
  15. 金三银四,我为面试所准备的面试题,不看要遭老罪喽
  16. 参加项目管理培训的一些体会
  17. 计算机网络网速,科普 | 宽带的分类及网速计算
  18. [Web安全]信息收集
  19. python根据表格数据生成折线图_python生成折线图
  20. 空白新机设置——让新电脑nice一些

热门文章

  1. redis3---使用
  2. 【2017-02-20】C#基础 - 运算符//表格,示例,代码巩固练习
  3. Couchbase应用示例(初探)
  4. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0 实际解决方案
  5. Siki_Unity_2-5_DOTween动画插件(未学)
  6. Pyhton基础篇(2)-变量、用户输入及条件语句(已更新)
  7. 一些基本数据类型的类封装(包装类)
  8. java中redis实现篇
  9. TrimPath - Js模板引擎
  10. U-Mail邮件系统客户无需担心OpenSSL心脏出血漏洞