blog迁移至:
http://www.micmiu.com
DCE VM 官网主页:
http://ssw.jku.at/dcevm/
DCE VM 补丁介绍:
http://ssw.jku.at/dcevm/binaries/
淘宝JAVA中间件团队博客中相关介绍文章:
http://rdc.taobao.com/team/jm/archives/641
提供windows 版本的补丁下载:
dcevm-0.2-win.jar
本文讲述如何安装DCEVM补丁实现debug模式下的热部署
以windows 操作系统为例,其他操作系统,具体可参照上面给出相关介绍的链接
【一】补丁的安装步骤
>java -jar dcevm-0.2-win.jar
回车后会看到下图:
选择需要安装该补丁的jdk,点击按钮Install即可。
【二】配置文件的修改
需要修改tomcat的发布策略,以便验证该补丁安装是否成功,先打开server->tomcat的配置页面
如上图选择
Never publishing automatically这个选项,保存退出即可。
然后在eclipse的tomcat下,以debug的模式发布一个项目,现在对java文件的任何修改将会直接反映到应用程序中去,非常方便我们日常程序开发过程中的调试工作。
【三】异常问题的处理
打上补丁,如果项目启动报如下错:
Caused by:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
at net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
..............................................
..............................................
这个问题可能是因为该补丁和asm、cglib相关的jar包发生了冲突,我把项目里的asm、cglib换成了新的版本:
asm-3.3.1.jar、cglib-nodep-2.2.jar,然后再启动一切就正常了。
asm、cglib各版本匹配注意点:
--------------------------------分--------------------------------隔 --------------------------------线--------------------------------
- 大小: 118.2 KB
- 大小: 31.3 KB
- 大小: 28.2 KB
分享到:
相关推荐
在Java开发环境中,热部署(Hot Deployment)是一种非常实用的功能,它允许开发者在不中断应用程序运行的情况下更新或替换已部署的代码。这大大提高了开发效率,减少了系统停机时间。以JBOSS为例,它是Java EE应用...
本文档提供了Java HotSpot虚拟机(JVM)中内存管理的广泛概述,特别是在Sun公司的Java 2平台标准版(J2SE)5.0版本的发布中。文档描述了可供使用的垃圾收集器(Garbage Collectors),给出了关于如何选择和配置收集...
《Memory Management in the Java HotSpot™ Virtual Machine》一文深入探讨了Java HotSpot虚拟机中的内存管理机制,这是Java性能优化的关键领域。HotSpot虚拟机是Oracle JDK和JRE的一部分,以其高性能和优化能力而...
HotSpot虚拟机的技术细节并没有在摘录的内容中详细说明,但根据Java SE的官方文档和HotSpot的广泛知识,HotSpot虚拟机通过以下几个方面提高Java程序的性能: 1. 即时编译器:HotSpot虚拟机包含两个主要的JIT编译器...
《Java HotSpot 虚拟机》文件中包含了关于Java虚拟机(JVM)的深入讨论,尤其是在HotSpot虚拟机上的即时编译(JIT)技术,以及Java语言的最新发展。文件内容侧重于以下几个核心知识点: 1. **Java HotSpot虚拟机的...
Java HotSpot 客户端编译器设计 Java HotSpot 是 Sun Microsystems 开发的一款 Java 虚拟机(JVM),其中客户端编译器(Client Compiler)是 JVM 的核心组件之一。该编译器负责将 Java 字节码编译成机器代码,以...
java 虚拟机 hotspot 源码
Java HotSpot虚拟机是Oracle公司开发的一款高性能的Java虚拟机,它是Java运行环境的重要组成部分,负责解释和优化Java代码,确保程序的高效运行。本文将深入探讨Java HotSpot虚拟机的部分参数及其作用,帮助开发者更...
1. **即时编译(Just-In-Time, JIT)**:HotSpot虚拟机采用混合编译模式,即在程序运行时,一部分性能关键的代码会被编译成机器码,以提升执行效率。 2. **动态优化**:HotSpot会根据程序运行时的行为进行优化,...
总之,利用DCE VM和合适的配置,开发者可以在Java Web开发中实现类的热部署,减少了频繁重启服务器带来的不便,使得开发流程更加顺畅。这对于大型项目或者需要快速迭代的项目来说,是一个非常实用的工具和技巧。
《Java HotSpot虚拟机-2007-Peter Kessler.pdf》这份技术文档主要探讨了Java HotSpot虚拟机的工作原理、与平台的交互以及开发过程中的关键点。以下是该文档中涉及的一些核心知识点: 1. **虚拟机的功能**: - **...
《Java SE 6与HotSpot VM故障排除指南》是Oracle公司于2008年11月发布的一份技术文档,旨在帮助开发人员、系统管理员和技术支持人员解决在使用Java Standard Edition 6 (Java SE 6) 和HotSpot虚拟机过程中遇到的各种...
Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。JDK 1.8是Java 8版本的别称,这是一个重要的里程碑,因为它引入了许多创新特性,提升了开发...
总的来说,OpenJDK8U-jdk_x64_linux_mac_hotspot_8u212b03.zip提供了跨平台的64位OpenJDK 8实现,特别适合那些需要在Linux和Mac环境下使用Java 8开发和运行应用的专业人士。安装和使用这些版本的OpenJDK,可以确保你...
学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...
在Linux环境下,安装MySQL数据库也是部署Java环境的重要组成部分。 ##### 1. 安装MySQL - **下载MySQL安装包** 下载适用于Linux的MySQL安装包,例如MySQL Server 5.1.7版本,下载的文件名为`MySQL-server-5.1.7-...