Заменить / переопределить классы JRE (в Eclipse IDE)

У меня есть проект, который имеет на своем пути сборки другой проект, в котором есть пакет java.lang с измененной реализацией String внутри. Почему-то раньше я начинал этот проект с простой конфигурации запуска с использованием стандартного OpenJDK 7 JRE и загруженный модифицированный класс String (я думаю, по крайней мере, потому что в коде приведен интерфейс, который реализуется только измененной String). Однако недавно я мог что-то изменить (я не знаю, что), и я получаю исключение ClassCastException во время выполнения, потому что загружен оригинальный класс String. Я попытался в демо-проекте заменить класс String самостоятельно, и хотя автозаполнение и переход к объявлению вернули мой класс String, когда я запустил приложение, это было не так, и стоковая строка была загружена, и мое приложение не работало.

Вопрос в том, как заменить (/ переопределить) классы из JRE (без использования пользовательского загрузчика классов)? И как мой опыт может быть оправдан?

1 ответ

Если вы хотите перегружать базовые классы JDK, вы можете использовать -Xbootclasspath вариант.

В eclipse вы также можете настроить (загрузочный) classpath конфигурации запуска на соответствующей вкладке classpath.

Другие вопросы по тегам