Liubsyy / HotSecondsIDEA

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

non-JRMP server at remote endpoint #42

Closed Blog-yihang closed 11 months ago

Blog-yihang commented 11 months ago

初始化IHotDeployService失败:java.rmi.ConnectIOException: non-JRMP server at remote endpoint 这个要怎么解决下

Liubsyy commented 11 months ago

说下你的具体的细节吧,环境是远程/本地/虚拟机?然后远程端口是多少,是不是起来了,本地用telnet/nc -zv 能否连接上远程,提供的细节越详细越好,包括HotSeconds版本

Blog-yihang commented 11 months ago

环境 远程 端口号 9093 Springboot项目 正常启动 本地可以连上远程 HotSeconds版本 2.1 远程配置文件和本机配置文件一样

<remote_port>9093</remote_port>

<init_delay>3000</init_delay>
<classloader>LaunchedURLClassLoader</classloader>

启动命令 war包和服务在一块 java -jar detail_9093.war -XXaltjvm=dcevm -javaagent:./HotSecondsServer.jar=hotconf=./hot-seconds-remote.xml

Blog-yihang commented 11 months ago

HotDeployService热部署服务启动成功 启动时候没有这个日志 返回的

java版本:1.8.0_391 version_number:391 Java版本大于或等于181 拷贝libjvm.so完成

Liubsyy commented 11 months ago

那我知道原因了,9093这个端口虽然起来了,但不是被我这个插件所用,而是被别的进程用了,你可以尝试换个端口,或者kill掉9093端口再启动,另外jvm参数放前面 : java -XXaltjvm=dcevm -javaagent......

Blog-yihang commented 11 months ago

java: relocation error: /usr/lib/jvm/jdk-1.8-oracle-x64/jre/lib/amd64/libjava.so: symbol JVM_IsUseContainerSupport, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference 有一个新的报错

Liubsyy commented 11 months ago

jdk版本换成181吧,后续的版本和libjvm.so不兼容

Blog-yihang commented 11 months ago

远程jdk是1.7的话 tomcat指定1.8的版本启动 这个还可以放在tomcat用吗

Blog-yihang commented 11 months ago

那我知道原因了,9093这个端口虽然起来了,但不是被我这个插件所用,而是被别的进程用了,你可以尝试换个端口,或者kill掉9093端口再启动,另外jvm参数放前面 : java -XXaltjvm=dcevm -javaagent......

成功启动了 但是现在返回这个 The Tomcat connector configured to listen on port 9093 failed to start. The port may already be in use or the connector may be misconfigured.

Liubsyy commented 11 months ago

不能,最低jdk1.8,1.6和1.7的太早了我也不想去兼容了,现在都java21了

远程jdk是1.7的话 tomcat指定1.8的版本启动 这个还可以放在tomcat用吗

Blog-yihang commented 11 months ago

那我知道原因了,9093这个端口虽然起来了,但不是被我这个插件所用,而是被别的进程用了,你可以尝试换个端口,或者kill掉9093端口再启动,另外jvm参数放前面 : java -XXaltjvm=dcevm -javaagent......

成功启动了 但是现在返回这个 The Tomcat connector configured to listen on port 9093 failed to start. The port may already be in use or the connector may be misconfigured.

目前还有一个这个问题 要改远程服务器的配置文件吗

Liubsyy commented 11 months ago

这个remote_port和Tomcat不是一个端口也没有任何关系,是单独的一个端口,和HotSecondsClient通信用的,用于热部署传输

Liubsyy commented 11 months ago

你换个remote_port端口试试,或者直接用安装包里默认的: 2023

Blog-yihang commented 11 months ago

你换个remote_port端口试试,或者直接用安装包里默认的: 2023

都没问题了