Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ressources d'un fichier .Jar

1 réponse
Avatar
Thibal
Bonjour à tous,

J'ai un petit problème qui m'embête bien, c'est que je n'arrive pas à
organiser correctement les fichiers de ressources de mon application. Je
souhaite que mon application puisse être compréssée avec ses fichiers
ressources (images par exemple) dans un fichier .jar. Je passe donc par
cette ligne de code pour charger mes images :

new ImageIcon(getClass().getResource("images/" + imageName));

Jusque là ça marchait plutôt bien, mais ensuite quand j'ai voulu
rajouter d'autres types de fichiers, je me suis dit que j'allais
réorganiser mes dossiers, et j'ai donc transformé mon arborescence de
manière à avoir :

- ressources
- images
- langues
- polices

Le problème c'est que maintenant si je fais :
new ImageIcon(getClass().getResource("ressources/images/" + imageName));

ben je me tape un joli :

Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

Alors que j'ai juste rajouté un dossier dans la hiérarchie !!
Je bosse là dessus depuis tout à l'heure, j'ai cherché partout mais là
vraiment je ne sais plus quoi faire, est ce que quelqu'un ici connaît
une manière sûre de pouvoir associer des ressources à son application
(et que ca marche même dans un .jar) ???

Merci d'avance,

1 réponse

Avatar
Thibal
Thibal wrote:

Bonjour à tous,

J'ai un petit problème qui m'embête bien, c'est que je n'arrive pas à
organiser correctement les fichiers de ressources de mon application. Je
souhaite que mon application puisse être compréssée avec ses fichiers
ressources (images par exemple) dans un fichier .jar. Je passe donc par
cette ligne de code pour charger mes images :

new ImageIcon(getClass().getResource("images/" + imageName));

Jusque là ça marchait plutôt bien, mais ensuite quand j'ai voulu
rajouter d'autres types de fichiers, je me suis dit que j'allais
réorganiser mes dossiers, et j'ai donc transformé mon arborescence de
manière à avoir :

- ressources
- images
- langues
- polices

Le problème c'est que maintenant si je fais :
new ImageIcon(getClass().getResource("ressources/images/" + imageName));

ben je me tape un joli :

Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

Alors que j'ai juste rajouté un dossier dans la hiérarchie !!
Je bosse là dessus depuis tout à l'heure, j'ai cherché partout mais là
vraiment je ne sais plus quoi faire, est ce que quelqu'un ici connaît
une manière sûre de pouvoir associer des ressources à son application
(et que ca marche même dans un .jar) ???

Merci d'avance,


Y'a pas une loi de Murphy qui dit qu'on ne trouvera soi même la solution
à un problème qu'une fois qu'on aura dérangé tout le monde pour l'obtenir ?

Bref j'ai enfin résolu mon problème, et vu la stupidité de l'erreur, je:

www.tusors.fr.St

Merci quand même ;)