「java插件热部署」java实现插件化部署

博主:adminadmin 2022-12-23 00:45:08 57

本篇文章给大家谈谈java插件热部署,以及java实现插件化部署对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

IntelliJ IDEA12 怎么热部署,每次修改java文件就得重启tomcat

确保使用的是debug模式。

确保tomcat是由idea实例化的。也就是说tomcat是在idea中配置好的

(特殊的修改如:项目配置文件,某些特殊类新增,方法名称参数的添加修改引起的不能热部署就必须重启,当然你也可以用Jrebel插件。此插件收费。可以实现大部分的修改热部署,包括修改项目配置文件等热部署。以下描述均指的是普通的修改下的热部署。)

项目配置如图:

当修改文件后,ctrl+F9,编译文件。tomcat会自动加载新文件。

On frame deactivation选项同样可以选择为 update classes and Resource选项。它的作用就是在你失去焦点的时候自动编译。例如:修改某文件后你直接切换到了浏览器,或者点了下别的。只要当前的intellij idea 不是焦点就会激活自动编译并更新文件动作。也就是说不用手动按ctrl+F9了。

所有以上操作,请确保是在DEBUG模式下操作。也就是运行tomcat的时候是debug模式启动的。

如何实现Eclipse热部署

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

Java代码

Context path="/myApp" docBase="E:\workspace\myProject\web" reloadable="true"/

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

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

Java代码

Context path="/myApp" docBase="E:\workspace\myProject\web" reloadable="false" crossContext="true"/

这样修改java代码,就不会自动重启Tomcat,而且能及时生效了!

不过正如liuhanjun朋友评论中指出的,在追加方法或类变量时,还是会提示重启。

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

热部署是什么意思

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。

对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。

大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。

扩展资料

辅助用户使用和管理PKUAS的工具集合,主要包括部署工具、配置工具与实时监控工具。其中,部署工具既可热部署整个应用,也可热部署单个构件,从而实现应用的在线演化;配置工具允许用户配置整个服务器或单个应用;而实时监控工具允许用户实时观察系统的运行状态并作出相应调整。

没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的 软件环境,和程序配置是非常必要的。

参考资料来源:百度百科-热部署

IntelliJ IDEA 怎么热部署,每次修改java文件就得重启tomcat

intellij idea默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化。要jsp文件改动后立刻看到变化,有个配置。

在idea tomcat 中server的配置里,有个on frame deactivation,选择update classes and resources。另外有个配置on update action,就是手动操作的时候采取什么动作,可以重启服务器,也可以像上面一样更新类和资源文件,我选的是Redeploy。 可是当前项目没有update classes and resources这个选项,有个Hot Swap classes。

这是由于服务器添加的Artifact类型问题,一般一个module对应两种类型的Artifact,一种是war,一种是war explored。

war就是已war包形式发布,当前项目是这种形式,在这种形式下on frame deactivation配置没有update classes and resources选项。war explored是发布文件目录,选择这种形式,on frame deactivation中就出现update classes and resources选项了。

java插件热部署的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现插件化部署、java插件热部署的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。