我有一个项目,在其构建路径上有另一个项目,其中有一个java.lang包,里面有一个修改过的String实现。以某种方式,我曾经用一个简单的运行配置开始这个项目,使用库存OpenJDK 7 JRE并且加载了修改后的String类(我认为至少因为在代码中有一个接口,只能由修改后的String实现) )。但是最近我可能已经改变了一些东西(我不知道是什么)并且我得到了一个运行时ClassCastException,显然是因为加载了原始的String类。 我尝试在一个演示项目中自己替换String类,虽然自动完成和转到声明返回我的String类,当我启动应用程序时,情况并非如此,库存字符串已加载,我的应用程序无法正常工作。
问题是:如何从JRE替换(/覆盖)类(不使用自定义类加载器)?还有我的经验如何合理?
答案 0 :(得分:0)
如果您希望overload JDK core classes,可以使用-Xbootclasspath
选项。
在eclipse下,您还可以在各自的类路径选项卡中配置运行配置的(boot)类路径。