Utiliser des ressources d'un jar à partir d'un autre jar [Java] - Java - Programmation
Marsh Posté le 14-07-2004 à 15:08:19
Mettre un slash avant image ...
Code :
|
Et fait des checks au lieu d'avoir 50 appels imbriqués (i.e. vérifie que la ressource est ok avant d'intialiser ton file).
Marsh Posté le 14-07-2004 à 15:49:56
Merci de ta réponse.
Je viens d'essayer avec le slash, et ça me plante une erreur:
java.lang.NullPointerException
sur cette ligne.
Je vais essayer d'être plus précis. En fait l'appli contient deux packages:
/org/tralala/truc/monappli/client
/org/tralala/truc/monappli/common
En fait le client.jar est le jar qui contient la main class. Et common.jar utilise des ressources dans client.jar.
Au debut je faisais tout avec :
_image = ImageIO.read(new File("./image/O013.png" ));
Avec cette méthode, donc au moment de l'execution du jar, il ne trouvait pas la classe. Les fichiers étaient à la racine du projet. Je n'incluais pas les fichiers dans le manifest, pensant qu'Eclipse le faisait à ma place, ce qui n'est pas le cas. Est ce que j'aurais dû créer la liste de fichier dans le manifest?
Puis après je suis passé par la méthode getRessources. Et j'ai mis les fichiers dans :
/org/tralala/truc/monappli/client/image
J'ai fait le .jar avec client et client/image. Et là je bloque.
Est-ce qu'il vaut mieux utiliser cette méthode quand on veut utiliser des ressources contenus dans un jar externe (mais dans le même package), ou alors j'ai tout faux depuis le début :-) ?
Marsh Posté le 14-07-2004 à 15:53:43
Bin alors tu fais
Code :
|
tout dépend où se trouve ton fichier dans ta structure. Ca ne change rien qu'il soit dans un jar ou dans l'autre, du moment qu'il dans le classpaht et que tu ne joues pas avec des classloader différent.
Marsh Posté le 14-07-2004 à 16:28:14
J'ai essayé comme tu me l'as indiqué, mais à l'execution j'ai droit à :
FileNotFoundException: file:\E:\RepDeTest\common.jar!\org\tralala\truc\monappli\client\image\0002.png
(Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)
:-|
Marsh Posté le 14-07-2004 à 21:00:21
DarkLord a écrit : Bin alors tu fais
|
quoted
ptain, forcément qu'il peut pas instancier un File qui est dans un jar
Marsh Posté le 14-07-2004 à 21:00:36
CliffBurton a écrit : J'ai essayé comme tu me l'as indiqué, mais à l'execution j'ai droit à : |
non
Marsh Posté le 14-07-2004 à 23:23:30
oh putain j'ai pas fait attention au new file moi quel con
Marsh Posté le 16-07-2004 à 10:07:44
En fait, j'ai tout faux depuis le début.
Je peux pas me servir de File si j'ai l'intention de les appeller depuis un Jar. Il faut passer par le getRessource et me servir des Stream, c'est ça?
Marsh Posté le 16-07-2004 à 13:56:09
CliffBurton a écrit : Heu pkoi non? |
ben parce que t'as pas fait comme il t'a dit
Marsh Posté le 14-07-2004 à 13:24:18
Bonjour,
J'ai un souci pour utiliser des ressource d'un jar, des .png par exemple, à partir d'un autre jar.
Dans mon code, pour loader une image, j'utilise :
_image = ImageIO.read(new File(Application.class.getResource("image/O002.png" ).getFile()));
Ce code fait partie du deuxième jar. Le premier jar que j'utilise pour lancer l'application contient la ressource.
Sous Eclipse, y'a pas de problèmes, seulement quand je lance à partir du jar, il ne trouve pas le fichier.
Merci d'avance pour votre aide
Message édité par CliffBurton le 14-07-2004 à 15:01:53