2012-05-19 3 views
4

J'ai un bundle OSGi qui est dans Eclipse IDE représenté en tant que projet plug-in Eclipse. La seule façon que je trouve pour satisfaire les dépendances de ce plug-in/bundle est deGestion des dépendances des bundles OSGi dans Eclipse

  • 1) importer toutes les dépendances (fichiers .jar) par File > Import... > Plug-ins and Fragments assistant
  • 2) puis déclarer la dépendances importées dans MANIFEST.MF

Oui, cette solution fonctionne, mais d'autre part après que je valider les modifications dans notre garde tous mes camarades de l'équipe ont également importer manuellement les dépendances d'Eclipse pour corriger les erreurs de compilation.

QUESTION: Existe-t-il une solution qui ne nécessite pas de telles étapes irritantes? Je veux juste tirer les changements du dépôt et continuer mon travail sans besoin de fixer les dépendances dans MANIFEST.MF encore et encore ...

P.S .: Pour récupérer des dépendances, nous utilisons Apache Ivy.

Répondre

4

Vous devez configurer une plate-forme cible dans Eclipse. Je trouve le moyen le plus simple est de mettre toutes les dépendances dans un dossier, et enregistrer la plate-forme cible en tant que fichier .target que je vérifie dans le contrôle de la source. Ensuite, les seules étapes que mes collègues doivent effectuer sont de récupérer les dépendances et de configurer Eclipse pour utiliser la définition de la cible partagée. Si nous ajoutons de nouvelles dépendances à la définition, Eclipse récupère automatiquement les modifications avec un redémarrage ou une actualisation de la plate-forme cible.

La documentation Eclipse devrait vous aider à démarrer: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/concepts/target.htm

0

Si vous développez des applications à base de serveur, alors il est préférable de laisser maven ou Ivy gérer les dépendances et utiliser le plugin bundle Maven pour générer le Manifest. Ainsi, vous pouvez éviter le mode Eclipse OSGi et la plate-forme cible. Voir http://www.liquid-reality.de/x/DIBZ pour un tutoriel sur la façon de développer des paquets OSGi en utilisant maven et de les déployer sur Apache Karaf. Pour Ivy, vous devrez peut-être utiliser une construction légèrement différente, mais les bases devraient être les mêmes.

+0

La solution proposée par Holly Cummins me va très bien puisque la plateforme cible pointe vers un dossier avec des modules téléchargés par ivy. –

Questions connexes