IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Deployer des archives jar avec un projet Feature


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Points : 89
    Points
    89
    Par défaut Deployer des archives jar avec un projet Feature
    Bonjour,

    J'ai développé quelques plugins (non RPC) qui dépendent entre autre de jlex/cup, log4j, et d'autres.
    Je passe par un projet Feature pour déployer les plugins et leurs dépendances mais j'ai des erreurs pendant le build de la feature (les dépendances sous formes de jar ne sont pas utilisées pendant la compilation des plugins déployés).

    J'ai utilisé un maximum de lib tierces sous forme de plugins mais elle n'existent pas toutes.
    D'autre part, il me semble que mes projets sont correctement configurés:
    - debuggables,
    - je suis passé par un import des libs sous forme de lien symbolique + mise à jour du classpath par plugin.xml dans l'onglet runtime
    - le jar référencé est bien coché en utilisation dans l'onglet Build de mes plugin.xml

    Qu'aurais-je loupé ?

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Points : 89
    Points
    89
    Par défaut
    Bon, on dirait que la bonne manière de faire est de créer un plugin à partir des JAR que je référence.

    Par contre je ne trouve pas l'option qui déploie les dépendances avec mes plugins: est-ce possible ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Pour répondre à la même problématique (nombreux jar dépendants pour notre appli Rcp), nous avons choisi l'option d'un "wrapper" de jars.
    Il s'agit d'un plugin qui ne contient aucun code mais dont le but est d'embarquer et de mettre à disposition des autres plugins les jars externes.

    Pour cela, on copie (via ant) tous les jars nécessaires dans le sous dossier "deploy-libs" de celui-ci.
    Après, il suffit d'aller faire un tour dans l'onglet "runtime" de l'editeur de plugins (celui qui édite à la fois le plugin.xml, le MANIFEST.MF et le build.properties).

    Dans la liste "classpath", rajoute tous les jars que tu veux mettre à dispo puis, dans la liste "exported packages", ajoute tous les packages que tu veux mettre à dispo des plugins dépendants. Tu peux même filtrer quels plugins voient quels packages.

    Au final, tu devrais avoir dans ton MANIFEST.MF une clé "Bundle-Classpath" avec une liste de jars derrière et une clé "Export-Package" avec tous les packages mis à disposition....

    J'espère que ça t'aide.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par targol Voir le message
    Bonjour,

    Pour répondre à la même problématique (nombreux jar dépendants pour notre appli Rcp), nous avons choisi l'option d'un "wrapper" de jars.
    Il s'agit d'un plugin qui ne contient aucun code mais dont le but est d'embarquer et de mettre à disposition des autres plugins les jars externes.

    Pour cela, on copie (via ant) tous les jars nécessaires dans le sous dossier "deploy-libs" de celui-ci.
    Après, il suffit d'aller faire un tour dans l'onglet "runtime" de l'editeur de plugins (celui qui édite à la fois le plugin.xml, le MANIFEST.MF et le build.properties).

    Dans la liste "classpath", rajoute tous les jars que tu veux mettre à dispo puis, dans la liste "exported packages", ajoute tous les packages que tu veux mettre à dispo des plugins dépendants. Tu peux même filtrer quels plugins voient quels packages.

    Au final, tu devrais avoir dans ton MANIFEST.MF une clé "Bundle-Classpath" avec une liste de jars derrière et une clé "Export-Package" avec tous les packages mis à disposition....

    J'espère que ça t'aide.
    Merci de ta réponse.
    Je ne la tenterai cependant pas, puisque je m'en suis sorti en créant un plugin contenant les jar dont j'ai besoin.

    Ainsi, les dépendances sont naturellement gérées par Eclipse comme s'il s'agissait de plugin, ce qui lui semble plus naturel.

    J'en reviens à ma problématique du moment, qui est maintenant de déployer le tout sous Hudson, pour attaquer mes plugins en shell (je ne livre et ne teste que cette partie des plugins). D'où mon questionnement quant à la capacité d'Eclipse à exporter mes plugins + leurs dépendances.

  5. #5
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Citation Envoyé par targol Voir le message
    Au final, tu devrais avoir dans ton MANIFEST.MF une clé "Bundle-Classpath" avec une liste de jars derrière et une clé "Export-Package" avec tous les packages mis à disposition....
    Petit bonus qui peut sauver la vie lors de build incrémentaux: Lorsqu'on a un bundle de ce type, qui wrappe des jars, il est de tres bon gout de mettre un petit Bundle-Shape: dir dans le Manifest, et de mettre unpack="true" pour ce bundle dans les feature.
    Sinon, c'est le bug 111238 qui guette...
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

Discussions similaires

  1. Lancement des tests gwt avec un projet full maven
    Par shaoz dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 30/07/2013, 15h17
  2. deployer des fichiers textes avec le SWF
    Par slim_java dans le forum Flash
    Réponses: 2
    Dernier message: 14/05/2010, 16h46
  3. [SBI TALEND] Deployer des Job Talend avec SpagoBI
    Par waelos dans le forum SpagoBI
    Réponses: 3
    Dernier message: 31/10/2008, 08h58
  4. [JAR]Création d'un JAR avec des dependances sous Eclipse
    Par muthnik dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/07/2005, 17h39
  5. [JAR] créer une archive .jar contenant des images.
    Par keny dans le forum Général Java
    Réponses: 2
    Dernier message: 14/03/2005, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo