Closed yuyao52769 closed 1 week ago
应该是你的java
指令用的就是jre
下面的,你可以cmd运行where java
看下。这里有个误区是环境变量JAVA_HOME和进程的属性java.home
不是一个东西,后者就是你从哪里启动的,或者说java
这个指令来自哪。
System.out.println("java.home: " + System.getProperty("java.home"));
System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
也可以通过java -Djava.home=xxxx -jar xxx.jar
修改propery
的值。
你也可以尝试用jdk
下的java
指令的全路径试试,看是否验证这个说法。
感谢大佬回答,现在可以啦!
感谢大佬回答,现在可以啦!
客气啦,正好最近在用asm重写原来的javassist的实现逻辑,今天正好修复了一些细节,更新了前端页面,发布了0.0.4-fix版本。前一个不带fix的可能有ASM changeResult的时候的问题。
按照b站教程,先启动了一个自定义的web的jar,然后启动swapper,但是java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.WindowsAttachProvider could not be instantiated,目录也没有显示任何在运行的java进程,不知道咋回事。(还有另外一个问题我想要请教一下,我的电脑的java.home设置的就是C:\Program Files\Java\jdk-1.8\jre,但是一启动swapper,java.home就会自动变成 C:\Program Files\Java\jre-1.8\,导致启动报错,我只能去修改swapper的源代码了。)
![java-home-3](https://github.com/sunwu51/JVMByteSwapTool/assets/61131464/a67b96f7-303a-43b8-9b46-457d9dc9fcde)