具有调试模式的jrebel无法更新类

时间:2019-10-17 08:08:24

标签: java intellij-idea jrebel hot-reload

我使用jrebel的调试模式启动了该项目。当我更新类时,jrebel引发以下日志异常。即使我没有对类进行任何更改,我也只是添加了一个空格。在启动模式下启动是正常的。

15:01:45,667 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR Failed to transform class com/whir/rd/entryinvoice/actionsupport/InvoiceAction: java.lang.NoSuchMethodError: a
    at com.zeroturnaround.javarebel.flw.a(SourceFile:106)
    at com.zeroturnaround.javarebel.flw.doTransform(SourceFile:70)
    at com.zeroturnaround.javarebel.flw.transform(SourceFile:57)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.applyTransformation(SourceFile:78)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.transform(SourceFile:70)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:704)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:532)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:475)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:286)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:124)
15:01:45,738 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR com.whir.rd.entryinvoice.actionsupport.InvoiceAction: java.lang.UnsupportedOperationException: JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:703)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:530)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:474)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:284)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:123)
15:01:45,740 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR Failed to transform class com/opensymphony/xwork2/ActionSupport: java.lang.NoSuchMethodError: a
    at com.zeroturnaround.javarebel.flw.a(SourceFile:106)
    at com.zeroturnaround.javarebel.flw.doTransform(SourceFile:70)
    at com.zeroturnaround.javarebel.flw.transform(SourceFile:57)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.applyTransformation(SourceFile:78)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.transform(SourceFile:70)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:704)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:532)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:475)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:286)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:124)
15:01:45,777 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR com.opensymphony.xwork2.ActionSupport: java.lang.UnsupportedOperationException: JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:703)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:530)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:474)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:284)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:123)
15:01:45,779 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR Failed to transform class com/whir/component/actionsupport/BaseActionSupport: java.lang.NoSuchMethodError: a
    at com.zeroturnaround.javarebel.flw.a(SourceFile:106)
    at com.zeroturnaround.javarebel.flw.doTransform(SourceFile:70)
    at com.zeroturnaround.javarebel.flw.transform(SourceFile:57)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.applyTransformation(SourceFile:78)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.transform(SourceFile:70)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:704)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:532)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:475)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:286)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:124)
15:01:45,788 ERROR [STDERR] 2019-10-17 15:01:45 JRebel: ERROR com.whir.component.actionsupport.BaseActionSupport: java.lang.UnsupportedOperationException: JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClassesImpl(Native Method)
    at com.zeroturnaround.reload.jvmti.MinimalInstrumentation.retransformClasses(SourceFile:149)
    at com.zeroturnaround.javarebel.flv.a(SourceFile:106)
    at com.zeroturnaround.javarebel.fkr.a(SourceFile:703)
    at com.zeroturnaround.reload.al.d(SourceFile:588)
    at com.zeroturnaround.reload.al.b(SourceFile:530)
    at com.zeroturnaround.reload.al.a(SourceFile:74)
    at com.zeroturnaround.reload.ao.a(SourceFile:833)
    at com.zeroturnaround.reload.ao.a(SourceFile:749)
    at com.zeroturnaround.reload.al.a(SourceFile:474)
    at com.zeroturnaround.reload.b.m(SourceFile:513)
    at com.zeroturnaround.reload.b.l(SourceFile:284)
    at com.zeroturnaround.reload.b.k(SourceFile:57)
    at com.zeroturnaround.reload.c.run(SourceFile:123)
15:01:45,847 INFO  [STDOUT] 2019-10-17 15:01:45 JRebel: Reloading class 'com.whir.rd.entryinvoice.actionsupport.InvoiceAction'.

这让我很困惑。 jrebel和调试模式之间有冲突吗?我正在使用最新版本的jrebel,虚拟机oracle jrockit 1.6

2 个答案:

答案 0 :(得分:0)

我叫Curtis Johnson,我是Perforce的JRebel团队的工程师。这似乎是您的应用程序中的某种错误,它可能与JRebel有直接关系,也可能没有。与我们的支持团队一起为您解决问题最好。如果您可以将JRebel日志(instructions here)发送到support@jrebel.com,我们可以为您解决此问题。

答案 1 :(得分:0)

是的,JRebel应该使用这些调试选项。我不确定为什么会出现这些错误。我需要查看这些日志以了解发生了什么。

如果您想解决该问题,请将您的日志发送给我support@jrebel.com,我们非常乐意为您提供进一步的帮助。