如何实现Eclipse热部署 如何实现Eclipse热部署

作者&投稿:丑迫 (若有异议请与网页底部的电邮联系)
其实eclipse中的热部署是通过设置应用服务器来实现的,以tomcat为例来说明:
方法 一:
一些无关Classloader的类,主要是作为工具类引用的,可以放在tomcat的shared.loader下。这个可以通过设置catalina.properties目录来实现。
但是此方法改变原有的类加载设计,可能工程需要做一些特别的改变。不具有普遍适应性。故略。

方法 二:
利用Tomcat配置的VirtualWebappLoader机制,告诉tomcat去加载第三方的其他jar文件。配置方法同样在server.xml文件里。在前面加的Context下添加Loader。如下:
<Context docBase="E:/code/workspace/SCM/WebRoot" path="/SCM" reloadable="false"> <Loader className="org.apache.catalina.loader.VirtualWebappLoader" searchVirtualFirst="false" virtualClasspath="E:/code/workspace/SimpleLibs/libs/*.jar"></Loader>
</Context>
注意:上面的配置适用于Tomcat 7.X。在Tomcat 6.0设置virtualClasspath时,需要列举出具体的jar,即不能使用*.jar。

如何实现Eclipse热部署~

Tomcat比较轻快,非常适用于开发阶段使用。一般我们看官方文档,会认为在server.xml中进行如下配置即可支持热部署:

Java代码



但其实这样配置后,修改java代码会自动重启Tomcat服务器的,并非真正的热部署。修改多个文件的话,需要多次保存,保存一次就重启一次,非常之烦。

为了解决这个问题,google了好多网页,终于在某位大侠的博客(时间太久忘了原文地址了)里头找到了答案,修改配置如下:


Java代码



这样修改java代码,就不会自动重启Tomcat,而且能及时生效了!
不过正如liuhanjun朋友评论中指出的,在追加方法或类变量时,还是会提示重启。

我的开发环境是eclipse3.7+Tomcat7.0.23,在eclipse里头启停的服务器,Server location我选的是Use Tomcat Installation,Deploy path是webapp,Server Options下勾选了Serve modules without publishing。

一些无关Classloader的类,主要是作为工具类引用的,可以放在tomcat的shared.loader下。这个可以通过设置catalina.properties目录来实现。
但是此方法改变原有的类加载设计,可能工程需要做一些特别的改变。不具有普遍适应性。故略。

IntelliJ IDEA12 怎么热部署,每次修改java文件就得重启tomcat
答:需要手动触发下compile,ctrl+shift+f9就会在左下角看到绿色的提示框了,提示reload了几个class文件不过这里reload并不能达到真正意义上的hotswap,不过eclipsewtp的hotswap跟这个差不多,只是那个是自动的,intellij也可以通过录制宏来自动化。想要真正的hotswap,可以度娘 decvm ...

...debug模式,修改代码后怎样实时编译并部署到服务器,就像eclipse...
答:确保使用debug模式 确保tomcat由idea实例化说tomcatidea配置 (特殊修改:项目配置文件某些特殊类新增名称参数添加修改引起能热部署必须重启用Jrebel插件插件收费实现部修改热部署包括修改项目配置文件等热部署描述均指普通修改热部署)项目配置图:

springboot前端网页替换无效eclipse
答:2、清除项目目录下的缓存文件:在SpringBoot项目的根目录下,找到名为target或者build的文件夹,删除其中的所有文件,重新启动项目,正常替换。3、确保替换的文件路径和名称一致:确保要替换的文件路径和名称与代码中的引用一致。4、检查IDE的配置:确保IDE(比如Eclipse)已经正确配置了热部署功能。

tomcat部署项目的几种方式
答:reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署 antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp...

tomcat 热部署
答:在你新建的server会有一个server文件件把conf文件下的server.mxl 标签Host autoDeploy="true" 见图片!

JBOSS 7 每次启动都,会解压 war 到 vfs,好几个应用 ,一解压就是几百兆...
答:是的,deployments文件夹下的部署文件启动时会加载到临时文件tmp中。JBoss7,这个版本不能实现热部署,我已经在JBoss社区得到专业人士的回答。每次修改jsp,html文件都需要重新发布。开始还以为是IDE的问题。最近使用JBoss Developer Studio 和Eclipse 做过测试,热部署失败。在Debug模式下,用ear或者war包发布...

最近使用eclipse遇到这样一个问题:“Cannot find any provider supporting...
答:我觉得很方便,一直都是这么用,随时修改源码,都会自动即时发布,调试也方便。

tomcat加载文件,文件找不到
答:才允许Tomcat的Web应用使用容器内的Servletreloadable如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署antiResourceLocking和antiJARLocking热部署是需要配置的参数,默认false避免更新了某个webapp,有...

tomcat修改xml要重启么
答:其实也不用重启tomcat,重新部署即可。现在tomcat提供了热部署(Deploy)的功能,在eclipse里会检测到工程文件的变化自动重新部署,比重启tomcat时间要短。你改动一下这些文件,立刻保存,看看tomcat控制台的log会有一些变化的。

Hot Code Replace Failed是什么意思?
答:Hot Code Replace Failed是热代码替换失败的意思。出现这个错误原因:你的Eclipse中debug模式和代码改变不能同时进行,这个时候可以把无关窗口关闭即可解决。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过外挂程式使其作为其他计算机语言比如C++和Python的开发...