Никогда не добавляйте банки непосредственно в путь сборки при создании плагинов.
Вы должны включить все банки в свой плагин (или как другие плагины) и установить 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
вкладка Работа редактор: вкладка
сборки:
ли не найден сосуд OSGi расслоение? Если да, вы не должны добавлять банку к включенным банкам, а к зависимостям. В случае нет, вы также должны добавить его в 'bin.includes' часть' build.properties'. –
Спасибо. Сейчас он работает :) – Ronak