JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错解决方案

JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错解决方案

JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错如下,例如

2017-03-21 13:40:00 JRebel: ERROR Class 'org.springframework.data.repository.config.CustomRepositoryImplementationDetector' could not be processed by org.zeroturnaround.jrebel.integration.springdata.cbp.CustomRepositoryImplementationDetectorCBP@sun.misc.Launcher$AppClassLoader@18b4aac2: org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such field: className
    at org.zeroturnaround.bundled.javassist.CtBehavior.insertBefore(SourceFile:774)
    at org.zeroturnaround.bundled.javassist.CtBehavior.insertBefore(SourceFile:734)
    at org.zeroturnaround.jrebel.integration.springdata.cbp.CustomRepositoryImplementationDetectorCBP.handleDetectCustomImplementation(CustomRepositoryImplementationDetectorCBP.java:27)
    at org.zeroturnaround.jrebel.integration.springdata.cbp.CustomRepositoryImplementationDetectorCBP.process(CustomRepositoryImplementationDetectorCBP.java:21)
    at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(SourceFile:117)
    at com.zeroturnaround.javarebel.sw.a(SourceFile:376)
    at com.zeroturnaround.javarebel.sw.a(SourceFile:365)
    at com.zeroturnaround.javarebel.sw.a(SourceFile:322)
    at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(SourceFile:34)
    at com.zeroturnaround.javarebel.ra.transform(SourceFile:105)
    at java.lang.ClassLoader.defineClass(ClassLoader.java)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.springframework.data.repository.config.RepositoryBeanDefinitionBuilder.<init>(RepositoryBeanDefinitionBuilder.java:69)
    at org.springframework.data.repository.config.RepositoryConfigurationDelegate.registerRepositoriesIn(RepositoryConfigurationDelegate.java:118)
    at org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport.registerBeanDefinitions(RepositoryBeanDefinitionRegistrarSupport.java:83)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:352)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:143)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
    at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:524)
    at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
    at cn.aicem.console.config.DesignConfig.main(DesignConfig.java:25)
Caused by: compile error: no such field: className
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.fieldAccess(SourceFile:845)
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atFieldRead(SourceFile:803)
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMember(SourceFile:988)
    at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atMember(SourceFile:66)
    at org.zeroturnaround.bundled.javassist.compiler.ast.Member.accept(SourceFile:39)
    at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atMethodArgs(SourceFile:221)
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMethodCallCore(SourceFile:735)
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atCallExpr(SourceFile:695)
    at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atCallExpr(SourceFile:157)
    at org.zeroturnaround.bundled.javassist.compiler.ast.CallExpr.accept(SourceFile:46)
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(SourceFile:242)
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(SourceFile:330)
    at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(SourceFile:50)
    at org.zeroturnaround.bundled.javassist.compiler.Javac.compileStmnt(SourceFile:567)
    at org.zeroturnaround.bundled.javassist.CtBehavior.insertBefore(SourceFile:754)
    ... 41 more

寻找思路

官方论坛:https://zeroturnaround.com/forums/topic/jrebel-springboot-1-5-2-release/

官方解决方案

Valerie Avramenko:
We broke some stuff with Spring Boot 1.5.2, but it is already fixed in the Nightly build: https://zeroturnaround.com/software/jrebel/download/nightly-build/ Could you please try it out and let us know if it works as expected now?

官方解决方法(方便被墙的小伙伴)

JRebel for IntelliJ IDEA nightly build
  1. Download the JRebel IntelliJ IDEA plugin nightly build.备用百度网盘下载 提取码:84uy
  2. By downloading you accept EULA terms.
  3. Open File > Settings. Select Plugins.
  4. Press Install plugin from disk…
  5. Browse to the downloaded archive and press OK. Complete the installation.
JRebel for Eclipse nightly build
  1. Help > Install New Software.
  2. Work with this URL http://update.zeroturnaround.com/update-site-nightly/.
  3. Complete the plugin installation.
JRebel for NetBeans nightly build
  1. Download the JRebel NetBeans plugin nightly build.
  2. By downloading you accept EULA terms.
  3. Open Tools > Plugins.
  4. Select the Downloaded tab. Press Add Plugins….
  5. Browse to the downloaded NBM file and press OK.
  6. Press Install and complete the plugin installation.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值