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

Maven Java Discussion :

Package .jar à importer


Sujet :

Maven Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 221
    Points : 108
    Points
    108
    Par défaut Package .jar à importer
    Bonjour

    Excusez moi de vous déranger mais j'aimerais s'il est possible de configurer Maven de telle sorte qu'il puisse utiliser des fichiers .jar présent dans un répertoire quelconque sans pour autant intaller ces fichiers dans son repository local.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <dependency>
        <scope>system</scope>
          <groupId>group</groupId>
          <artifactId>artifact</artifactId>
          <version>1.2.3.4</version>
          <systemPath>/chemin/absolu/vers/le/jar</systemPath>
    </dependency>
    Devrais faire l'affaire.

  3. #3
    Membre confirmé

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    La proposition de tchize fonctionne techniquement.

    Néanmoins ce n'est pas une bonne pratique d'éviter de passer par un repository maven 2 notamment sur l'aspect reproductibilité du build.

    Rémy

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Je rejoins foxrol dans sa demande. Je m'explique.

    J'ai plusieurs projets assez gros à passer sous Maven au travail. Ces projets constituent notre logiciel de génération de site cartographique, qui sait lire la plupart des formats de données alphanumériques et cartographiques actuels, ce qui signifie qu'ils dépendent de beaucoup de JARs. Or, pour beaucoup d'entre eux, je ne sais pas d'où ils viennent, ni dans quelle version ils sont, ni de quels autres JARs ils dépendent.

    Existe-t-il un moyen de mettre des JARs de dépendances "en vrac" dans un repository, en disant à Maven "je ne connais pas bien ces JARs, mais j'en ai besoin dans mon classpath, et de façon que le build soit portable". D'après ce que j'ai lu, il faut mettre chaque JAR dans le dépôt en respectant la structure groupId/artifactId, avec pour chaque un POM, etc. Je me vois mal faire ça pour chaque JAR.

    Qu'en pensez-vous ?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    la premier chose à faire, c'est de vérifier que ces jar n'existent pas déjà dans la version officielle des dépots maven. Si c'est le cas, pour ceux là il suffira me mettre le groupid/artifactid/version dans le pom.xml du projet
    Pour les autres, tu peux les mettre en vrac avec un numéro de version bidon dans une repository. Il suffit de faire passer la commande mvn install:file (que tu trouvera détaillé sur le site de maven) sur chaque fichier. Mais alors les numéros de version ne correspondront à rien et le groupid sera probablement très générique.
    Ou alors (mieux) tu peux passer sur chaque jar pour déterminer dans quel group/artifact/version tu va le stocker dans le repository. Note aussi que tu n'es jamais obligé de créer le pom toi même. La commande mvn install:file va créer un pom générique pour toi. Par contre , si tu veux dire que le jar X dépend de Y et Z, alors tu devra faire un pom à la main. Migrer un projet existant vers maven2 est plus long et pénible que démarrer une nouveau projet sur maven2. Mais rien ne t'empeche de faire ça petit à petit quand tu trouve du temps entre deux test de ton code

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Merci tchize_.

    Alors effectivement, je suis parti comme tu as dit (n'ayant pas trouvé d'autre solution entre temps ^^), et je suis en train de me taper toutes les dépendances à la main, en les mettant dans un dépôt distant (mais sur ma machine locale). Je parcours donc les différents dépôts publics que je trouve et si je ne trouve rien, j'invente un groupId/artifactId et je pose dans mon dépôt. Ce qui est très ennuyeux, c'est de devoir faire ça pour chaque fichier. Mais bon, pas le choix.

    Par contre, je n'utilisais pas "mvn install:" car je voulais voir fonctionner le téléchargement distant des dépendances manquantes, donc je mettais mes fichiers directement sur le dépôt distant, et pas dans le dépôt local. Mais maintenant que j'ai vu comment ça fonctionne, je pense que je vais l'utiliser, puis copier mon dépôt local sur le distant plus tard.

    Merci encore .

  7. #7
    Membre confirmé

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Pour information tu peux utiliser mvn deploy:deploy-file (comme pour le plugin maven-install-plugin) pour faire un déploiement à distance.

    Rémy

Discussions similaires

  1. Importer package .jar
    Par 08121989 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/11/2010, 08h09
  2. Compilation package (pb import .jar)
    Par caparenlive59 dans le forum Général Java
    Réponses: 7
    Dernier message: 08/07/2010, 15h01
  3. [projet Tomcat][jar] Importer un .jar à un projet Web
    Par El Saigneur dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 24/06/2005, 17h06
  4. [Language][debutant] package et import : probleme
    Par debdev dans le forum Langage
    Réponses: 11
    Dernier message: 15/03/2005, 12h29
  5. [JAR]package .jar
    Par Mandy dans le forum Général Java
    Réponses: 2
    Dernier message: 10/03/2005, 10h17

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