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 :

Dépendance vers une JRE perso


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 57
    Par défaut Dépendance vers une JRE perso
    Bonjour,

    Je travaille sur un projet qui utilise principalement swing, l'api javacomm et une dll perso développée pour faire des appels JNI via une carte IO.

    Pour ce projet nous avons configuré une jre en y mettant les jar et dll propres à nos besoins ; nous utilisons ensuite cette jre sur tous les postes qui travaillent sur ce projet et nous installons cette jre sur les postes du client également.

    Comme nous passons à une phase d'industrialisation du projet, nous souhaiterions "maveniser" tout ça.

    Je me pose donc la question de comment déclarer la dépendance vers notre JRE spécifique. Est-ce qu'il faut faire une dépendance système pour tous les jar et dll de la JRE les uns après les autres ?

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Je rappelle juste que Maven va principalement servir à builder et à packager (enfin, pour ton cas).

    Le JRE n'intervient dans le build qu'au niveau des dépendances (spéc 1.4, 5.0, 6.0 etc.). Donc que l'on ait une JRE perso qui ne contient que des implémentations vides des spécifications de Sun ne va pas changer grand chose.
    Ce n'est que lors de l'exécution que cela va poser problème.

    Ce cas sort du scope de Maven.

    C'est le système d'exploitation qui choisit la JRE par défaut (si c'est industrialisé, la JRE risque d'être à la même place sur tous les postes, donc pourquoi ne pas packager un script qui lance l'application en pointant directement sur ta JRE).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 57
    Par défaut
    C'est effectivement ce qui se passe lorsque nous installons l'application sur les postes client : l'installeur positionne la jre à utiliser et l'application se lance avec.

    En fait mon soucis était surtout sur comment lier ma dll dans mon projet maven. J'ai trouvé plusieurs informations à ce sujet, notamment l'existence du plugin "native-maven-plugin".

    Je regarde plus en détails de ce côté et je reviens compléter et terminer le post (dont le titre n'aura plus grand chose à voir au final ^^).

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Donc la vrai question est : Comment compiler un projet avec Maven avec une dépendance vers une bibliothèque native ?

    Car du coup, ce n'est pas pareil qu'une JRE perso.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 57
    Par défaut
    Les deux problèmes existent en fait : d'un côté je voudrais que les développeurs utilisent la même jre qui sera installée sur les postes clients et de l'autre il faudra effectivement référencer une dll avec maven pour la compilation.
    Etant donné que la dll en question (ainsi que d'autre librairies nécessaires au projet, notamment javacomm), est présente dans la jre, je voulais savoir si on pouvait faire simplement une référence à cet ensemble de lib pour la compilation avec maven.

    Finalement je confondais un peu tout : entre environnement d'exécution et phase de compilation.

    Donc je pense solutionner de la sorte : les développeur récupèreront la jre client, et vont configurer leur eclipse ou autre pour s'exécuter avec (résolution du problème n°1). L'idéal serait que lorsque un développeur arrive sur le projet, un simple "mvn install" lui installe directement cette jre depuis notre repo d'entreprise. Je ne sais pas encore si c'est possible, ni comment...

    Ensuite je vais devoir configurer mon projet maven pour, soit référencer une dépendance vers la dll à utiliser au moment de la compilation (à voir si il est possible de faire une dependance de type "dll"), soit mieux dans certains cas, utiliser les sources et compiler la dll à la volée (le plugin maven-native-plugin le permet apparemment).

Discussions similaires

  1. Ajouter une dépendance vers un projet
    Par daydream123 dans le forum Maven
    Réponses: 4
    Dernier message: 13/03/2013, 08h35
  2. Créer/gérer une dépendance vers une librairie native
    Par CorbAddict dans le forum Maven
    Réponses: 4
    Dernier message: 24/05/2011, 17h33
  3. Utilité d'un pointeur vers une fonction ?
    Par Nasky dans le forum C
    Réponses: 10
    Dernier message: 20/03/2010, 19h54
  4. Transfert de variables d'une JDialog perso vers JFrame
    Par k-koo dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 27/12/2007, 21h28
  5. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44

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