У нас есть часть функциональности, упакованная во внешнюю библиотеку, и она привязана к нашему проекту. Эта библиотека никак не может быть изменена. Среди других есть два класса, лежащих внутри него: com.myorg.Grandpa
и com.myorg.Dad
, который распространяется на com.myorg.Grandpa
. Также есть com.myorg.Grandson
, простирающийся com.myorg.Dad
и несколько других классов за пределами библиотеки, простирающейся com.myorg.Grandpa
.Сделать класс Java выше приоритета компиляции, чем один внутри библиотеки в IDEA
Я декомпилирую com.myorg.Grandpa
класс и добавлю новый метод new_method()
. Затем я пытаюсь использовать new_method()
в com.myorg.Grandson
, но IDEA не позволит мне сделать это, потому что внук расширяет папу, который расширяет дедушку библиотеки, которая не содержит new_method()
. Я попытался удалить дедушку из библиотеки, и на удивление ИДЕЯ не произнесла ни слова и успешно скомпилировала проект, несмотря на то, что в границах библиотеки Dad расширяет не существующий класс.
Вопрос в том, как заставить Папу продлить новый дедушка без удаления его внутри библиотеки?
OT: Ваша модель кажется немного странной. Папа - это «дедушка, а потом внук» - это «папа». Это действительно ваше намерение? – maba