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

JavaFX Discussion :

[NetBeans 8] Bibliothèques absentes du jar final


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyste développeur SAP ECC/BW
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Analyste développeur SAP ECC/BW

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut [NetBeans 8] Bibliothèques absentes du jar final
    Bonsoir,

    Je tente de générer un .jar qui contiendrait mes libraries (rien de bien sorcier jusque là).
    Dans mon répertoire "dist" j'ai :
    - mon .jar
    - un répertorie "lib" qui contient les libraries

    Cependant, si je copie/colle mon .jar ailleurs, plus rien ne fonctionne puisque les libraries ne sont pas incluses à l'intérieur.

    J'espère être assez clair.

    Contexte :
    - Netbeans 8.0.2
    - JavaFX project
    - Java 8 update 60

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Analyste développeur SAP ECC/BW
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Analyste développeur SAP ECC/BW

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    Petite précision, je ne peux pas utiliser Maven pour gérer mon projet. Je dois utiliser sapjco3.jar et SAP n'autorise pas le fait de renommer la dépendance.

    J'avoue ne pas comprendre comment c'est possible que mes libraries ne soient pas incluses dans mon jar.

    Je cherche encore...

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Comme tu l'as remarqué tes dépendances sont situées dans le répertoire lib. D'ailleurs le champs Class-Path du manifeste de ton JAR principal doit les référencer texto. Donc si tu copies ailleurs ton JAR principal, il faut aussi copier le répertoire lib et tout son contenu avec.

    Si tu veux vraiment un seul et unique JAR, je ne connais pas de solutions dans NetBeans (et n'ai jamais trop cherché de ce coté) mais il est assez facile de créer un script appelant la commande jar pour dezipper puis rezipper tout dans une unique archive. On peut aussi très aisément et rapidement se créer un petit programme Java utilisant l'API JAR (package java.util.jar) qui fait pareil. Évidement dans les deux cas, il faut penser a modifier correctement le nouveau manifeste (et non pas recopier betement celui du JAR principal précédent) et re-signer l'archive après si elle était signée lors de sa génération par NetBeans.

    Il existe probablement qq part des outils deja prets a l'emploi qui font la meme chose.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre averti
    Homme Profil pro
    Analyste développeur SAP ECC/BW
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Analyste développeur SAP ECC/BW

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    Ok merci pour ta réponse.
    Du coup je vais voir pour me tourner vers Launch4j. Sinon je déploierai le répertoire "lib" sur les quelques postes que je dois installer.
    Les autres applications (qui ne contiennent pas sapjco3.jar) ne posent pas de problème car avec Maven les dépendances sont directement incluses dans le jar final.

    Du coup, je remercie SAP pour leur super jar ;-)

    Bonne soirée.

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Mais du coup, avec Maven, elles sont incluses sous forme de JAR dans le JAR ou tout se retrouve a plat dans l'archive ? C'est pas une mauvaise idée en soit mais du coup ça casse probablement la signature numérique des JAR provenant de librairies tierces. C'est un peu comme si tu extrayais le contenu de DLLs signés présents sur ton système pour le mettre dans ton exe et ensuite tout re-signer la chose a ta sauce (alors qu'il me parait plus logique que la signature de la lib externe doive être celle de son éditeur). Et, si tout est a plat, cas de collision de noms de fichier, classes, ressources, fichiers de redéfinitions de classes pour le ServiceLoader, etc. : si tout est dans le même JAR, a la fin il n'en reste qu'un seul, pas forcement le bon.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Membre averti
    Homme Profil pro
    Analyste développeur SAP ECC/BW
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Analyste développeur SAP ECC/BW

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    Bonjour Bouye,

    J'ai voulu vérifier avant de venir valider. Donc effectivement, en utilisant Maven, les dépendances sont stockées à plat dans le jar final. Quand tu parles de collision, cela signifie-t-il qu'une classe X qui se trouve dans un répertorie Y, peut entrer en collision avec une classe X (d'un autre jar) qui se trouve dans un répertoire Z ?

    Personnellement je trouve ça très pratique mais je comprends tout à fait que ce n'est pas spécialement correct de faire sauter la signature de l'éditeur.

    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Netbeans 6.8 disponible en version finale
    Par guepard2005 dans le forum NetBeans
    Réponses: 0
    Dernier message: 10/12/2009, 16h16
  2. Netbeans 6.1 et fichier .jar
    Par jfcocu dans le forum NetBeans
    Réponses: 1
    Dernier message: 24/10/2008, 09h21
  3. Netbeans module UML absent
    Par rach20032 dans le forum NetBeans
    Réponses: 1
    Dernier message: 07/11/2007, 14h11
  4. [Netbeans][debutant] insertion de Library jar
    Par robert_trudel dans le forum NetBeans
    Réponses: 5
    Dernier message: 27/05/2006, 01h07
  5. [NetBeans] serialVersionUId ? Empêche un bon jar ?
    Par Telemak dans le forum NetBeans
    Réponses: 9
    Dernier message: 31/10/2005, 15h08

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