Hello,
J'essaye en vain d'afficher un fichier image a partir d'un .jar exécutable.
Voici un extrait de mon code:
Avec Eclipse ce la fonctionne parfaitement. le println affiche:"file:/C:/Users/morchea/workspace/archi_1/bin/pics/zoom_in.png"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 URL imgURL1 = getClass().getResource("pics/zoom_in.png"); System.out.println(imgURL1); Image imageBtn1 = new Image(display, imgURL1.getPath());
Lorsque j'exporte vers un .jar, et que j'execute sous Windows, voici l'output de la ligne de commande:
C:\Users\morchea\Documents\Projets\archi>java -jar archi2.jar
jar:file:/C:/Users/morchea/Documents/Projets/archi/archi2.jar!/pics/zoom_in.png
Exception in thread "main" org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: file:\C:\Users\morchea\Documents\Projets\archi\archi2.jar!\pics\zoom_in.png (The filename, directory name, or volume label syntax is incorrect))
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.graphics.ImageLoader.load(Unknown Source)
at org.eclipse.swt.graphics.ImageDataLoader.load(Unknown Source)
at org.eclipse.swt.graphics.ImageData.<init>(Unknown Source)
at org.eclipse.swt.graphics.Image.<init>(Unknown Source)
at ArchiOpen4ipView.<init>(ArchiOpen4ipView.java:54)
at ArchiOpen4ip.main(ArchiOpen4ip.java:4)
Caused by: java.io.FileNotFoundException: file:\C:\Users\morchea\Documents\Projets\archi\archi2.jar!\pics\zoom_in.png (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.eclipse.swt.internal.Compatibility.newFileInputStream(Unknown Source)
... 6 more
Ce qui m'inquiete et que je ne comprends pas est le path affiche par le println, il contient "archi2.jar!/..." Ce ! est-il normal?
Si qqun a une idee, d'avance merci.
Morchea.
Partager