java eclipse修补的JRE类Xbootclasspath无法找到或加载主类
我根据自己的需要修改了一些核心java类,例如在java.lang.String匹配方法中使用regexp缓存 我想使用这些补丁类,而不是jre附带的rt.jar中的默认类 我已经将src.zip源代码导入到eclipse中,eclipse包含rt.jar中类文件的所有源文件,并根据需要对它们进行了更改。然后,我从eclipse JRE库配置中删除了rt.jar,并更改了eclipse中已安装JRE的默认VM参数选项,以告知VM使用我自己的自定义核心类> -Xbootclasspath/p:/media/SSD/workspace/proj/bin/ 但是,当运行一个简单的测试程序时,VM无法启动,原因如下> “找不到或加载主类.media.SSD.workspace.proj.bin。” 我还尝试使用-Xbootclasspath/a:append代替,但没有任何区别 所有核心java类都位于bin文件夹中,具有正确的目录结构(由eclipse编译),例如java/util、java/io等 我不知道为什么它会抱怨一个主类,因为JRE库没有主类,我自己的项目主要方法是bin/core/boot.class,eclipse在运行配置中检测并设置它(以前工作得很好) 我遵循了这个指南,它可能有点过时了,并且没有使用eclipse来修补核心类> 有人能指出我做错了什么吗 更新/解决方法:java eclipse修补的JRE类Xbootclasspath无法找到或加载主类,java,eclipse,Java,Eclipse,我根据自己的需要修改了一些核心java类,例如在java.lang.String匹配方法中使用regexp缓存 我想使用这些补丁类,而不是jre附带的rt.jar中的默认类 我已经将src.zip源代码导入到eclipse中,eclipse包含rt.jar中类文件的所有源文件,并根据需要对它们进行了更改。然后,我从eclipse JRE库配置中删除了rt.jar,并更改了eclipse中已安装JRE的默认VM参数选项,以告知VM使用我自己的自定义核心类> -Xbootclasspath/p:/m
我创建了一个包含所有核心类的新项目,然后将其导出为一个新的rt.jar文件,并将其放置在openjdk的jre/lib文件夹中的默认文件中,它就可以工作了。但这意味着我机器上的所有java应用程序都将使用补丁类,而不仅仅是我的项目,这远远不够理想,因此我的上述问题仍然存在。您的参数中应该没有空格
-Xbootclasspath/p:/media/SSD/workspace/proj/bin/
bootclasspath的参数(在之后:
)应该是代码>(在Windows上)文件夹的分隔列表拉链和罐子
Java将您的参数解释为要在bootclasspath前面添加的文件夹的空列表和要运行的类的名称,这就是为什么它抱怨找不到class.media.SSD.workspace.proj.bin.
如何处理带空格的文件夹(重命名除外)?将整个参数包装在“
中。例如“-Xbootclasspath/p:/path/带空格”
。