首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖rt.jar中的单个类

覆盖rt.jar中的单个类
EN

Stack Overflow用户
提问于 2011-12-08 23:05:32
回答 4查看 3.1K关注 0票数 4

我正在寻找一种简洁的方法来覆盖引导类路径中的类,rt.jar。原因是OpenJDK7错误http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7104625

对这个bug的修复是对sun.awt.X11.XComponentPeer的一个微不足道的更改(参见链接邮件列表帖子)。所以我想知道是否有一种简单的方法可以覆盖我的类路径中受影响的类,而不必重新打包/重新构建rt.jar (这样就不会在下次自动更新OpenJDK时丢失修复程序)。

理想情况下,它也会影响Eclipse...

我假设java -Djava.system.class.loader=myClassLoader可以工作?有没有其他方法可以用这样的“热修复”来覆盖单个类?(注意:不是在我自己的代码中使用,而是在Java AWT代码中深入使用)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-08 23:11:07

您可以使用VM参数-Xbootclasspath/p在您自己的JAR文件前面加上打过补丁的类到引导类路径。

票数 10
EN

Stack Overflow用户

发布于 2011-12-08 23:07:34

我认为唯一受支持的方法是通过替换所需的*.class文件来“修补”rt.jar。7-Zip可以帮助你轻松做到这一点。

这正是甲骨文为其FPUpdater工具提供双重解析错误修复的方式,该工具本质上就是一个执行此操作的脚本。(Some history.)

票数 1
EN

Stack Overflow用户

发布于 2011-12-08 23:13:54

我认为你可以尝试使用javaagent,当JVM加载系统类时,你必须截获事件,并将它与你的类进行交换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8433047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档