Export Jar.

Résolu/Fermé
amatova - 1 sept. 2017 à 22:35
 amatova - 4 sept. 2017 à 10:42
Bonjour,
J'ai réalisé un projet sur Eclipse et je souhaite maintenant l'exporter. Or quand je veux l'exporter, il me dit toujours
"JAR export finished with warnings. See details for additional information."
Et quand je mets les détails, il me dit "Exported with compile warning" puis le nom d'une classe.

Quand je veux ouvrir mon fichier Jar avec Java (TM) Platform SE binary, rien ne se passe.

Pourriez-vous m'aider s'il vous plait ?



3 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
2 sept. 2017 à 00:40
Bonjour,

Un warning ce n'est pas une erreur donc rien de grave, ce sont probablement les mêmes avertissements que ceux obtenus à la compilation et correspondant à du code souligné en jaune/orange sur Eclipse.

Quant au fait que ton JAR ne fasse rien quand tu l'ouvres il peut y avoir plusieurs raisons.
Soit tu n'as pas de manifest donc il ne sait pas où est ta méthode main. Soit c'est une application en mode console et par défaut il n'en a pas.
Dans les deux cas il faudrait démarrer le JAR depuis une invite de commande pour en savoir davantage.

java -jar C:\...\programme.jar
0
Bonjour,

Merci de m'avoir répondu. C'est la première fois que je passe par l'invite de commande donc je ne sais pas si je m'y suis bien prise mais lorsque l'invite de commande s'ouvre, je mets donc le code que tu m'as passé en précisant le chemin de mon fichier JAR et il me dit:
"Exception in thread "main" java.lang.NullPointerException
at javax.swing.imageIcon.<init><ImageIcon.java:21?>
at com.julie.Scene.<init>Scene.java:231>
at com.julie.Main.main<Main.java;28>
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
3 sept. 2017 à 15:59
Bonjour,

Donc si ton JAR ne fonctionne pas c'est à cause de cette erreur...

Il faudrait voir quel est ton code aux lignes indiquées (Scene.java ligne 231) mais si tu as un NullPointerException c'est probablement parce que tu initialises ImageIcon avec une valeur null, par exemple un fichier image qui n'existe pas ou n'est pas à l'endroit où le programme le cherche...
0
amatova > KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024
3 sept. 2017 à 16:46
Pourtant Eclipse arrive à lire l'image et elle se trouve au même endroit que toutes les autres images. Mais en tout cas, voici la ligne en question:

IcoFond = new ImageIcon(getClass().getResource("/image/fondDesert4.png"));
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > amatova
3 sept. 2017 à 17:02
Est-ce que tes images sont dans le JAR ou uniquement dans ton projet Eclipse ?
Parce que /image/fondDesert4.png étant un chemin relatif, Eclipse le trouve car tu as configuré ton projet pour qu'il accède à ce dossier, mais si tu génères un JAR, que tu le déplaces, que tu le donnes à quelqu'un d'autre, etc. si tes images ne sont pas dans le JAR ça ne va pas pouvoir fonctionner...
0
Aucune idée. Peut-être qu'il n'est en effet que dans mon projet Eclipse mais n'aurais-je pas dû avoir plus d'erreur auquel cas ?

Et sinon, comment puis-je le mettre dans le JAR.

En tout cas pour l'instant j'avais créé un dossier image dans mon projet java sur Eclipse où j'y avais mis mes images puis j'exportais le tout avec les autres packages.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
3 sept. 2017 à 17:33
"n'aurais-je pas dû avoir plus d'erreur auquel cas ?"
Le programme s'arrête à la première erreur qu'il rencontre, s'il continuait il y aurait sûrement autant d'erreurs que d'images manquantes...

Voici comment faire ça à la main, cela te permettra au passage de voir comment ça fonctionne sans Eclipse...

Voici l'architecture de mon projet de test :

C:\workspace

├───make.bat

├───com
│ └───julie
│ └───Main.java

└───image
└───fondDesert4.png

Dans le fichier make.bat j'ai mis :

javac com/julie/*.java
echo Main-Class: com.julie.Main > manifest.txt
jar cvmf manifest.txt Julie.jar com/julie/*.class image/*
java -jar Julie.jar
pause

Il s'agit donc de lancer le fichier make.bat en cliquant dessus pour lancer la compilation, la création du jar et son exécution.

Remarque : selon ton projet il faudra peut-être faire quelques ajustements.
0
J'ai réussie !
Le problème venait du fait que l'image FondDesert4.png a une majuscule dans le fichier source mais dans Eclipse, je l'avais pas mis en majuscule, ce qui ne l'avait pas gêné pour autant. Dès lors que j'ai mis la majuscule, tout allait bien.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
4 sept. 2017 à 08:14
En effet ce n'était pas grand chose au final... mais je n'y aurai pas pensé, à moins de le voir dans le résultat du tree /F qui ne marchais pas chez toi.

Du coup maintenant tu sais utiliser l'invite de commande pour compiler un programme, c'est important pour la suite parce qu'en vrai on ne fait jamais confiance à un IDE pour créer le livrable.
0
Oui en effet. J'avais du mal à comprendre comment utiliser le cmd mais grâce à toi, j'ai compris.

Merci beaucoup pour ton aide !
0