gpt4 book ai didi

java eclipse 修补了 JRE 类 Xbootclasspath 无法找到或加载主类

转载 作者:行者123 更新时间:2023-11-30 08:10:25 24 4
gpt4 key购买 nike

我根据自己的需要修改了一些核心java类,例如。在 Java.lang.String 匹配方法中使用正则表达式缓存。

我想使用这些修补过的类,而不是 jre 附带的 rt.jar 中的默认类。

我已将 src.zip 源代码导入到 eclipse 中,其中包含 rt.jar 中类文件的所有源文件,并根据我的需要更改了它们。然后,我从 eclipse JRE 库配置中删除了 rt.jar,并更改了 eclipse 中已安装 JRE 的默认 VM 参数选项,以告诉 VM 使用我自己的自定义核心类>

-Xbootclasspath/p: /media/SSD/workspace/proj/bin/

但是,当运行简单的测试程序时,虚拟机无法启动,并显示以下内容>

"Could not find or load main class .media.SSD.workspace.proj.bin."

我也尝试使用 -Xbootclasspath/a: 来追加,但没有什么区别。

所有核心java类都位于具有正确目录结构的bin文件夹中(由eclipse编译),例如java/util、java/io等。

我不知道为什么它提示主类,因为 JRE 库没有主类,而我自己的项目主要方法位于 bin/core/boot.class 中,该方法由 eclipse 在运行中检测到并设置配置(之前工作正常)。

我正在遵循这个指南,它可能有点过时,并且没有使用 eclipse 来修补核心类>

http://media.techtarget.com/tss/static/articles/content/CovertJava/Sams-CovertJava-15.pdf

有人可以指出我做错了什么吗?

更新/解决方法:我创建了一个包含所有核心类的新项目,然后将其导出为一个新的 rt.jar 文件,并将其放在 openjdk 的 jre/lib 文件夹中的默认文件位置,它就可以工作了。但这意味着我机器上的所有 java 应用程序都将使用修补后的类,而不仅仅是我的项目,这远非理想,所以我上面的问题仍然存在。

最佳答案

参数中不应有空格

-Xbootclasspath/p:/media/SSD/workspace/proj/bin/

bootclasspath 的参数(在 : 之后)应该是 ;(在 Windows 上)分隔的文件夹 zip 和 jar 列表。

Java 已将您的参数解释为要添加到 bootclasspath 的空文件夹列表和要运行的类的名称,这就是为什么它提示找不到类 .media.SSD.workspace.proj.bin。

关于java eclipse 修补了 JRE 类 Xbootclasspath 无法找到或加载主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com