`
youngerbaby
  • 浏览: 115074 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Web应用热部署方案

    博客分类:
  • Java
阅读更多

上周一位同事完成了Web应用开发的热部署实现,主要用于web应用程序的开发调试阶段,免去了开发人员每次修改都要从新部署应用的麻烦。今天研究了一下热部署实现的源代码,感觉,思路清晰,实现原理简单,非常值得学习!

主要分两个部分实现:

1. eclipse插件客户端。提供针对IJavaProject类型的右键菜单Action来对eclipse工程进行debug,run,compile操作,本质实现基于eclipse的debug功能,把选中的project动态的部署到tomcat的maven插件中(经过扩展)

2. tomcat maven插件扩展,添加热部署功能,继承了org.codehaus.mojo.tomcat.RunMojo类,主要就是在调用对应Mojo类execute中,把之前运行态下的class和jar包删掉,从而使得class和jar包可以获得更新的机会(有点被动),这样运行时总是被修改过的类和jar包了。

由于其中涉及到的技术自己也不是很了解,可能有理解错误的地方,但大体的思路应该是这样,有时间可以更深一步了解相关涉及到的技术!

主要技术:

1. eclipse debug框架

2. maven tomcat plugin以及扩展机制

3. classworlds.jar包的使用(好像是对classloader的增强?线下在好好了解一下)

分享到:
评论

相关推荐

    rebu.zip springboot+mybatis+thymeleaf 热部署 java 热部署页面访问

    本项目“rebu.zip”显然整合了这三个框架,旨在创建一个完整的Java Web应用程序,同时支持热部署功能,以提升开发效率。 首先,让我们深入了解每个框架的核心特性: 1. **SpringBoot**:SpringBoot是由Pivotal团队...

    eclipse修改代码后热部署(不需要重启服务

    总之,通过以上介绍的Eclipse热部署方法,你可以更高效地开发Java Web应用程序,避免频繁的重启,提升开发效率。无论是使用JRebel插件,还是利用Eclipse和服务器的内置功能,都能帮助你在编码过程中快速看到代码变更...

    IntelliJ IDE热部署最新插件

    热部署插件通常用于Java Web应用程序的开发,它能够在代码修改后立即更新到运行中的应用服务器,避免了传统方式下每次修改都需要手动停止、重新构建和启动应用的过程。这在调试和迭代开发时尤其有用,减少了等待时间...

    jboss 7.1.1 Final 的jsp热部署解决方案

    第二个需要修改的XML文件是`jboss-web.xml`,它通常位于每个Web应用程序的`WEB-INF`目录下。你需要创建这个文件(如果不存在),并添加以下内容: ```xml <jboss-web> <redeploy-reload-timeout>5000 </jboss-web>...

    tomcat热部署包

    2. 使用特定插件:如上文提到的Sysdeo Eclipse插件,或者Spring Tool Suite (STS) 中的Spring Boot DevTools,它们提供了更方便的热部署解决方案。 3. 代码编辑器集成:确保IDE支持热部署功能,例如Eclipse、...

    b3log-solo在eclipse下的热部署方案.docx

    ### b3log-solo在Eclipse下的热部署方案详解 #### 概述 本文档将详细介绍如何在Eclipse IDE环境下实现b3log-solo项目的热部署。通过此方案,开发者能够在不重启服务器的情况下快速更新代码并查看效果,极大提高...

    tomcat应用服务器部署项目

    - **热部署失效**:确保`reloadable`属性设置为`true`,并且项目文件的更改已被Tomcat检测到。 #### 总结 通过上述步骤,我们可以顺利地在Tomcat应用服务器上部署Java项目。需要注意的是,除了基本的部署流程之外...

    IntelliJ IDEA修改了mybatis mapper xml后不用重启tomcat,自动热发布 热更新 热部署.zip

    在开发Java Web应用程序时,尤其是使用Mybatis作为持久层框架的时候,经常遇到的一个问题是:当我们在IntelliJ IDEA中修改了Mapper XML文件后,需要手动重启Tomcat服务器才能看到改动的效果,这无疑降低了开发效率。...

    SpringBoot thymeleaf eclipse热部署方案操作步骤

    在开发Spring Boot应用时,有时候我们需要快速迭代和测试代码,这时热部署技术就显得尤为重要。本文将详细介绍如何在Spring Boot项目中集成Thymeleaf模板引擎,并使用Eclipse实现热部署,以便在修改代码后无需重启...

    关于java热部署知识.doc

    尽管Java标准版(J2SE)没有内置的热部署解决方案,但J2EE应用服务器如Tomcat、WildFly等提供了相应的热部署支持。例如,在Tomcat中,当WEB-INF/classes或WEB-INF/lib目录下的文件发生变化时,Tomcat会自动检测并...

    springloaded-1.2.6实现spring热部署,最全的教程

    总结,SpringLoaded为Spring应用提供了高效的热部署解决方案,通过实时类的重载,大大加快了开发周期。理解其工作原理和使用方法,能帮助开发者更好地利用这一工具提升开发效率。在实践中,应结合具体项目情况灵活...

    Pure JS (2): 热部署 (利用 JDK 7 NIO 监控文件变化)

    一旦检测到文件变更,它会立即编译新的JS代码,并将结果注入到正在运行的Web应用中,从而实现热部署。 描述中提到的博客链接可能提供了更详细的实现步骤和代码示例。虽然这里没有具体的内容,但可以推断博主可能...

    WebLogic应用优化解决方案

    7. **热部署与版本管理**:合理利用WebLogic的热部署功能,减少应用更新带来的停机时间。同时,良好的版本控制策略(如Git)能保证代码的可追溯性和团队协作效率。 8. **网络优化**:检查网络延迟和带宽使用,确保...

    IntelliJ+Maven+Jetty+Jrebel实现web项目java代码更改后热部署

    "IntelliJ+Maven+Jetty+Jrebel"的组合正是为了解决这一问题,实现Web项目的Java代码更改后能够自动热部署。这个解决方案集成了几个关键工具,包括: 1. **IntelliJ IDEA**: 这是一款强大的Java集成开发环境(IDE)...

    java web开发部署神器--jetty插件

    - 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速以及丰富的插件支持,为开发者提供了高效且灵活的部署解决方案...

    基于OSGi和Spring开发Web应用的Demo

    在IT行业中,构建高效、可扩展的Web应用程序是至关重要的,而OSGi(Open Services Gateway Initiative)和Spring框架的结合提供了这样的解决方案。本篇将详细探讨如何基于OSGi和Spring来开发Web应用,并通过提供的...

    Serverless实现十分钟上线Web应用.pdf

    Serverless架构是近年来云计算领域的一项重大创新,它改变了传统的服务器管理方式,允许开发者专注于编写业务逻辑...Serverless架构与Malagu框架的结合,为Web应用的开发提供了全新的解决方案,引领了未来的技术创新。

Global site tag (gtag.js) - Google Analytics