-
Problème avec mon Jar
Bonjour à toutes et à tous ,
Je développe actuellement une application dans laquelle je dois spécifier un dossier d'images qui est inclus dans mon projet.
j'accède au dossier pour lire mes images comme suit :
Code:
File f = new File(getClass().getResource("/imgfinal/Ecole").toURI());
J'exécute et ça marche ! mais dès que j'exporte mon projet en JAR , j'obtiens une erreur
Quelqu'un a déjà eu ce problème ?
Merci d'avance
-
Salut, peux tu nous montrer l'erreur que tu obtiens?
-
il te manque, des jars.
Voir l'erreur, et cherche les jars qu'il demande
-
je m'excuse , j'ai mal exprimé mon problème , je vais essayer d'être plus claire :
j'ai créé un sous dossier dans le dossier d'image placé dans le ./src de mon application
Dossier ./src/imgfinal
Sous dossier ./src/imgfinal/Ecole
Ecole : contient des images png
dans mon interface Dans un JTree je liste les images contenu dans le sous dossier Ecole.
Si j'exécute à partir d'eclipse : il arrive à remplir le JTree
Lorsque je génère le Jar exécutable : j'obtiens" Null pointer exception "
le compilateur signale une erreur au niveau de la lecture du dossier "./imgfinal/Ecole"
j'ai vérifier le Jar , les images existent
:calim2::calim2: je suis perdue
-
Tu dois pas importer les images dans ton jar. Tu peux vérifié en l'ouvrant un 7zip ou un autre logiciel du même type. Regarde si le dossier contenant les images apparait.
-
il faut travailler depuis la racine de ton application. Ton path ne doit pas être correct
-
C'est ça, et puis l dossier src sert uniquement pour les sources du fichier. Il faut que tu créé un répertoire en dehors au même niveau que ton dossier src. Une fois mis en jar, de répertoire doit être avec ton jar (dans le même dossier que ton jar) par exemple copie Ecole dans dist une fois que le jar est fait.
-
Salut,
Je pense qu'il y a une petite confusion dans les dernière réponses. Si je ne dis pas de bêtises Eclipse a du mettre correctement les images dans le jar dans le répertoire /imgfinal/Ecole.
Mais attention on ne peux pas si facilement explorer un répertoire contenu dans un jar qu'un répertoire sur le disque et en aucun cas un même code fonctionnera.
Soit tu connais à l'avance toutes les images que tu as dans ton répertoire et tu y accèdes en utilisant Class.getResourceAsStream("/path/monImage.jpg").
Soit tu veux 'explorer' le répertoire contenu dans ton jar, et là, ça se complique.
Déjà tu dois ouvrir le jar de ton application en utilisant JarFile, ce qui signifie que tu dois connaître l'emplacement de ton jar (il y a une astuce la dessus dans la FAQ java ;) ).
Ensuite tu récupères la liste des entries et tu ne t’intéresses qu'à celle dont le nom commence par le path de ton répertoire image. Pour les charger il te suffira soit violemment de refaire un Class.getResourceAsStream soit de récupérer via le JarFile, l'InputStream associé à l'entry correspondant à une image.
Bon code,
Bulbo ;)