2016-11-20 26 views
0

Я получаю плагин Eclipse: java.lang.NoClassDefFoundError для орга/Джонго/ResultHandlerEclipse, создание плагина выполнения Issue - java.lang.NoClassDefFoundError

Моего исходного кода скомпилированного успешно после добавления необходимой банки files.I добавили эти банки с помощью project> build path в качестве справочных библиотек в Eclipse.

Теперь проблема заключается в том, что эти внешние файлы jar не работают во время Время выполнения.

My MANIFEST.MF файл имеет только одну банку, а не внешние банки. Не знаю, как добавить внешние банки здесь.

Bundle-ClassPath: Test.jar 

Build.properties

source.Test.jar = src/ 
bin.includes = plugin.xml,\ 
       META-INF/,\ 
       Test.jar 

Пожалуйста, подсказывают, как запустить мое приложение во время выполнения, который будет выглядеть внешние банки.

+1

ли не найден сосуд OSGi расслоение? Если да, вы не должны добавлять банку к включенным банкам, а к зависимостям. В случае нет, вы также должны добавить его в 'bin.includes' часть' build.properties'. –

+0

Спасибо. Сейчас он работает :) – Ronak

ответ

1

Никогда не добавляйте банки непосредственно в путь сборки при создании плагинов.

Вы должны включить все банки в свой плагин (или как другие плагины) и установить Bundle-Classpath и включить банки в build.properties. Если вы ссылаетесь на другие плагины, просто добавьте их в зависимости от вашего плагина.

Вы можете добавить их в MANIFEST.MF, используя редактор MANIFEST.MF/plugin.xml/build.properties.

На вкладке «Время выполнения редактора» добавить банки в записи «Classpath» (также должна быть запись «.» Для основного кода плагина).

На вкладке «Создать» в редакторе проверьте все банки, которые вы хотите включить в плагин. Вы должны помещать банки в свой плагин (например, в каталог «lib»).

К примеру, в этом build.properties:

source.. = src/ 
output.. = bin/ 
bin.includes = META-INF/,\ 
       .,\ 
       plugin.properties,\ 
       plugin.xml,\ 
       lib/jogg-0.0.7.jar,\ 
       lib/jorbis-0.0.15.jar,\ 
       lib/vorbisspi1.0.2.jar,\ 
       icons/ 

У меня есть три банки в каталоге "Lib.

MANIFEST.MF для этого выглядит следующим образом:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: %plugin.name 
Bundle-SymbolicName: greg.music.ogg;singleton:=true 
Bundle-Version: 2.0.0.qualifier 
Bundle-Vendor: %plugin.provider 
Bundle-Localization: plugin 
Require-Bundle: greg.music.core;bundle-version="1.0.0", 
greg.music.resources;bundle-version="1.0.0", 
org.eclipse.core.runtime, 
javazoom.jlgui.basicplayer, 
org.eclipse.e4.core.services;bundle-version="2.0.100" 
Bundle-ClassPath: ., 
lib/jogg-0.0.7.jar, 
lib/jorbis-0.0.15.jar, 
lib/vorbisspi1.0.2.jar 
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 
Import-Package: javax.annotation;version="1.0.0", 
javax.inject;version="1.0.0", 
org.eclipse.e4.core.di.annotations 

вкладка Работа редактор: вкладка enter image description here

сборки: enter image description here

+0

Спасибо, Грег за подробную помощь :) – Ronak

 Смежные вопросы

  • Нет связанных вопросов^_^