N'ajoutez jamais de jarres directement au chemin de construction lors de la création de plugins.
Vous devez inclure tous les jars dans votre plugin (ou d'autres plugins) et définir le Bundle-Classpath
et inclure les pots dans le build.properties
. Si vous faites référence à d'autres plugins, ajoutez-les simplement aux dépendances de votre plugin.
Vous pouvez les ajouter à MANIFEST.MF à l'aide de l'éditeur MANIFEST.MF/plugin.xml/build.properties.
Dans l'onglet 'Runtime' de l'éditeur, ajoutez les fichiers jars aux entrées 'Classpath' (il devrait aussi y avoir une entrée '.' Pour votre code de plugin principal).
Dans l'onglet "Générer" de l'éditeur, vérifiez tous les fichiers jars que vous souhaitez inclure dans le plug-in. Vous devriez placer les jars quelque part dans votre plugin (un répertoire 'lib' par exemple).
Par exemple, dans ce 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/
J'ai trois pots dans un répertoire 'lib'.
Le MANIFEST.MF pour cela ressemble à:
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
onglet Runtime éditeur:
onglet Construction:
Le pot ne trouve pas un faisceau de OSGi? Dans le cas contraire, vous ne devez pas ajouter le fichier jar aux fichiers jar inclus, mais aux dépendances. Dans le cas contraire, vous devriez également l'ajouter à la partie 'bin.includes' de' build.properties'. –
Merci. Ça marche maintenant :) – Ronak