「java插件热部署」java实现插件化部署
本篇文章给大家谈谈java插件热部署,以及java实现插件化部署对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、IntelliJ IDEA12 怎么热部署,每次修改java文件就得重启tomcat
- 2、如何实现Eclipse热部署
- 3、热部署是什么意思
- 4、IntelliJ IDEA 怎么热部署,每次修改java文件就得重启tomcat
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插件热部署的信息别忘了在本站进行查找喔。
发布于:2022-12-23,除非注明,否则均为
原创文章,转载请注明出处。