Ограничения на изменение rt.jar - PullRequest
3 голосов
/ 04 октября 2009

Каковы ограничения при изменении классов в rt.jar. Я понимаю, что это обычно зависит от версии и поставщика JRE. Я обнаружил, что Hotspot в виртуальной машине Sun 1.6, например, не любит, если вы добавляете поля в java.lang.Object, поскольку он имеет жестко запрограммированные предположения о размере объекта. Однако, если я изменяю значительную часть классов в rt.jar, я получаю ложные ClassNotFoundErrors во время выполнения для классов, которые определенно находятся в моем банке. Я попытался изменить rt.jar и заменить его различными параметрами -Xbootclasspath.

Я действительно не знаю, где искать документацию по такого рода вещам, например, я ничего не могу найти в документации OpenJDK.

1 Ответ

1 голос
/ 05 октября 2009

Рассматривали ли вы возможность использования библиотеки инструментария для байт-кода для достижения желаемого? Вы можете использовать ASM + java.lang.instrument , для JDK больше или равно 5,0

...