Как использовать пользовательский объект из недоступного .jar - PullRequest
0 голосов
/ 12 июня 2019

У меня есть файл .jar, который используется программой, для которой я хочу написать расширение.Один из моих новых методов требует пользовательский объект из этой банки.Если я импортирую этот пользовательский класс, я получаю сообщение об ошибке, потому что в затмении импортированный класс и требуемый класс кажутся разными, даже если они имеют одинаковые имена.

Возможно ли использовать объект из другого проекта?

Я не могу импортировать банку, потому что это расширение.Так что его можно скачать и использовать.Я просто хочу расширить это расширение, но я не хочу менять само расширение.Я попытался привести объект к ошибке, но получаю сообщение об ошибке: невозможно выполнить приведение.

1 Ответ

0 голосов
/ 12 июня 2019

Это звучит как проблема пути к классам.Скорее всего, исходное расширение находится в classpath и снова как часть вашего расширения.Чтобы класс считался JVM одним и тем же, он должен находиться в одном пакете, иметь одинаковые имена и для загрузки одним и тем же загрузчиком классов.Таким образом, класс, загруженный из вашего расширения .jar, определенно считается отличным от любого класса с тем же именем, загруженного из исходного расширения .jar другим загрузчиком классов, даже если они на самом деле побитно идентичны.

...