Если вам требуется Bundle; pluginB от pluginA, тогда Class.forName(*)
должен был сработать. Хотя я укажу, что использование PageClass class = new PageClass();
также будет работать. Почему вы пытаетесь использовать рефлексию, когда вы можете просто зависеть от этого класса напрямую?
Для общего шаблона, в котором вы предоставляете структуру поведения, которую другие плагины должны расширять, предоставляя реализации, eclipse предоставляет понятие точек расширения / расширений.
Плагин A предоставит точку расширения. Плагин B перечислит расширение для этой точки расширения и предоставит класс реализации. В этом случае плагину B требуется плагин A, а не наоборот.
Затем плагин A использует org.eclipse.core.runtime.IExtensionRegistry.getConfigurationElementsFor(String)
для чтения всех добавленных расширений и org.eclipse.core.runtime.IConfigurationElement.createExecutableExtension(String)
для создания экземпляров предоставленных реализаций (реестр заботится о том, чтобы класс мог быть создан).