Я создаю плагин, который требует класс jdt.ui.JavaUI. Я включил плагин jdt.ui в зависимости. Это мой Manifest.mf:Плагин Eclipse: NoClassDefFoundError на org/eclipse/jdt/ui/JavaUI
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: PanelGenerator Plug-in
Bundle-SymbolicName: PanelGeneratorPlugin; singleton:=true
Bundle-Version: 0.1.0
Bundle-Activator: panelgenerator.plugin.Activator
Require-Bundle: org.eclipse.jdt.core,
org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.ui.ide,
org.eclipse.jdt.ui
Eclipse-LazyStart: true
и это мой build.properties:
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
.,\
icons/,\
templates/
Во время компиляции я не получаю ошибки компиляции. Если я отлаживаю плагин с помощью Eclipse (Debug as -> Eclipse Application), он отлично работает.
Однако, когда я его экспортирую, установите его, скопировав в папку плагинов Eclipse, плагин не работает. Как только класс JavaUI используется, ничего не происходит. В журнале ошибок сообщается об этом:
java.lang.NoClassDefFoundError: org/eclipse/jdt/ui/JavaUI
Любые идеи о том, почему это происходит?
Как было предложено Стивом, не могли бы вы дать более подробную информацию о том, как вы «устанавливаете» подключаемый модуль (версия Eclipse используется для разработки подключаемого модуля, версии Eclipse, где установлен подключаемый модуль, экспортировать подключаемый модуль, процедуру, используемую для установки подключаемого модуля и т. д.). Проблема, вероятно, возникает на этапе экспорта/установки, потому что подключаемый модуль работает при запуске нового экземпляра Eclipse из вашей рабочей области. – Barthelemy