当前位置: 首页 > 面试题库 >

从rt.jar覆盖单个类

翟兴邦
2023-03-14
问题内容

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

该错误的解决方法是对的一个微小更改(请参阅链接的邮件列表帖子)sun.awt.X11.XComponentPeer。因此,我想知道是否有一种简便的方法可以在类路径上重写此受影响的类,而不必重新打包/重建rt.jar(这样,在下次自动更新OpenJDK时不会丢失此修复程序)。

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

我认为那java -Djava.system.class.loader=myClassLoader行得通吗?还有其他方法可以用这样的“修补程序”覆盖单个类吗?(注意:未在我自己的代码中使用,而是在Java
AWT代码中使用)


问题答案:

您可以使用VM参数-Xbootclasspath/p在修补程序类之前将自己的JAR文件添加到引导类路径。



 类似资料:
  • 问题内容: 我正在尝试从open jdk更改某些类,所以我正在创建与open jdk类相同的包结构,并且正在使用netbeans更改类。当我在构建项目时,如果覆盖类中出现问题,我会收到错误消息。如果成功构建了我的项目,则应用程序似乎不考虑我对类的更改,而是使用打开的jdk类。知道我该如何使用我的类而不是openjdk的类? 例: 如果我在项目中创建类 _sun.net.www.protocol.h

  • 问题内容: 我有一个带有默认变量值的application.properties文件。我希望能够在运行时更改其中之一。我找到了如何更改整个文件的方法,但是我只想更改其中一个或两个属性。 问题答案: 您可以将各个属性作为命令行参数传递。例如,如果要设置,则在启动可执行jar时可以执行以下操作: 另外,如果您使用的是Spring Boot 2.x,则: 或者,如果您使用的是Spring Boot 1.

  • 我想以某种方式使用Jacoco,这样它就排除了。为了实现这一点,我加入了

  • 我试图通过SonarQube API(Sonar Version4.1.2)检索单个类的单元测试代码覆盖率。一切都很好,当我直接进入声纳仪表板并进入一个类的覆盖选项卡时,我可以看到指标良好: 有人能告诉我通过声纳API接口检索相同/相似信息的正确调用吗?我已经查看了http://docs.sonarqube.org/display/sonar/metric+definitions上的文档,并且可以

  • 非常感谢任何帮助。

  • 我正在编写一个独立的java应用程序,从Maven项目构建它并通过调用jar文件执行。 在应用程序中,我有一个实体管理器,它使用在我的持久性中定义的持久性单元。xml是独立的(事务类型=“RESOURCE\u LOCAL”) 实际的实体注释类来自另一个项目,因此被添加到pom中。xml文件作为依赖项。 问题是持久性。包含实体类的项目的xml覆盖了实际独立应用程序的持久性。构建jar时,jar目标文