Liubsyy / HotSecondsIDEA

HotSeconds是一款Java远程热部署的插件,可实现秒级一键化热更新。插件分为HotSecondsClient(IDEA热部署插件)和HotSecondsServer(服务端javaagent热更新插件),可以热更新java和常用配置文件,也支持常用框架(Spring,MyBatis)的热更新,相对传统部署可节省大量时间提高开发效率。
GNU General Public License v2.0
369 stars 48 forks source link

ERROR OnClassLoad not found,ignore scanner!!! #67

Closed mr-nealon closed 3 months ago

mr-nealon commented 3 months ago

image image

项目采用springboot3.2.5,已在hot-seconds-remote.xml配置classLoader为LaunchedClassLoader,已安装jbr17,server端将hot-seconds-remote.xml和jar包放在同一个目录,配置jdk17 jvm参数后,启动jar包后hotseconds.log显示 OnClassLoad not found,ignore scanner!!! image

HOTSECONDS: 17:18:02.893 ERROR OnClassLoad not found,ignore scanner!!! HOTSECONDS: 17:18:04.446 ERROR InvocationTargetException in transform method on plugin 'class org.hotswap.agent.plugin.hibernate.HibernatePlugin' class 'org/hibernate/validator/internal/metadata/BeanMetaDataManager'. java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:218) at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:112) at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:246) at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244) at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188) at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:104) at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38) at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.buildValidatorFactory(AbstractConfigurationImpl.java:453) at org.springframework.boot.autoconfigure.BackgroundPreinitializer$ValidationInitializer.run(BackgroundPreinitializer.java:159) at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.runSafely(BackgroundPreinitializer.java:120) at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.run(BackgroundPreinitializer.java:105) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.hotswap.agent.javassist.CannotCompileException: [source error] no such field: beanMetaDataCache

Liubsyy commented 3 months ago

报错可忽略,下个版本把报错去掉

mr-nealon commented 3 months ago

image image

springboot项目只配了.jar文件,连接时报错(端口12024已开,密钥使用的默认的)

[22:26:44] [172.18.10.65:12024] Initialized hot-seconds.xml:HotDeployConfig{ author='liubsyy', secret='aaaaaaaabbbbbbbbbccccccccc', remoteIp='172.18.10.65', remotePort=12024, timeout=3000, autoHotDeploy=false, mappings=[Mapping{fileType=[.jar], path='E:/0508pig/platform/platform/platform-boot/target/', remotePath='/opt/deploy/backend/'}], connections=[Connection{name='', secret='aaaaaaaabbbbbbbbbccccccccc', ip='172.18.10.65', port=12024}], proxy=false, proxyHost='', proxyPort=0} [22:26:44] [172.18.10.65:12024] Failed to initialize IHotDeployService:java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:

mr-nealon commented 3 months ago

解决了,修改主机/etc/hosts