Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1350 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] un .jar dans une archive jar ET jar + classpath [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] un .jar dans une archive jar ET jar + classpath [Résolu]

n°169154
bobuse
Posté le 01-07-2002 à 18:15:42  profilanswer
 

Après avoir bien feuilleté les autres topics sur les jar, et fait moulte tentatives, ça marche toujours pas.
 
le pb:
J'ai un jar que j'ai récupéré qui s'apelle kunststoff.jar (tiens tiens ;-), j'ai ma classe qui est dans un package et qui utilise ce jar. Jusque là pas de pb, ça marche nickel !
 
Maintenant, je veux jarrer le tout !
ben je fais mon manifest :
 
Manifest-Version: 1.0
Created-By: 1.4.0(Sun Microsystem Inc.)
Main-Class: MonPackage.MaClasse
 
et hop :
 
jar cmf manifest.mft MonJar.jar ./MonLogo.png -C ./tools/ kunststoff.jar -C ./class/ .
 
ok nickel.
 
java -jar MonJar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/incors/plaf/kunststoff/KunststoffLookAndFeel
 
Bing!
 
je vérifie mon jar :
$jar tf batsim.jar
META-INF/
META-INF/MANIFEST.MF
MonLogo.png
kunststoff.jar
MonPackage/MaClasse
 
Alors ?
 
P.S. : c'est mon premier jar ...  :(


Message édité par bobuse le 02-07-2002 à 11:12:02
mood
Publicité
Posté le 01-07-2002 à 18:15:42  profilanswer
 

n°169157
bobuse
Posté le 01-07-2002 à 18:20:00  profilanswer
 

Bon alors, si j'enlève la ligne ou je me sers de kunststoff.jar, ça marche nickel ... bon mon logo s'affiche pas, mais ça je devrai trouver dans les autres topics je pense ...

n°169171
bobuse
Posté le 01-07-2002 à 18:39:27  profilanswer
 

Après renommage du topic :
 
peut-on spécifier un classpath quand on lance un jar ?
 
paske du coup j'ai essayé :
java -jar -cp ./tools/kunststoff.jar MonJar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/incors/plaf/kunststoff/KunststoffLookAndFeel
 
Alors que ça, ça marche :
java -cp ./tools/kunststoff.jar:./class MonPackage/MaClasse
 
 :(

n°169252
[FDS]
Posté le 01-07-2002 à 20:31:03  profilanswer
 

Tu devrais déjà créer ton propre jar avec tes classes
 
Ensuite dans le manifest de ton jar tu ajoute cette ligne:  
 
Class-Path: kunststoff.jar (en supposant que kunststoff.jar est dans le même répertoire que ton jar)
 
Pour lancer ton application tu fais:
 
java -jar monJar.jar ou tu double clique sur ton fichier monJar.jar (si tu es sous Windows)
 
 

n°169258
bobuse
Posté le 01-07-2002 à 20:38:08  profilanswer
 

Nickel, merci!
 
Et pour accéder à mon image qui est dans mon jar, tu peux me l'expliquer en 2 lignes, ou fodra que je cherches ... :sarcastic:

n°169292
darklord
You're welcome
Posté le 01-07-2002 à 22:00:52  profilanswer
 

utilse getResource, super puissant :)

n°169307
veryfree
Posté le 01-07-2002 à 22:56:14  profilanswer
 

bobuse a écrit a écrit :

Nickel, merci!
 
Et pour accéder à mon image qui est dans mon jar, tu peux me l'expliquer en 2 lignes, ou fodra que je cherches ... :sarcastic:




 
il correspond a quoi ton look and feel?
j aime bien els LAF alors si c gratos jve bien voir a quoi il ressemble...

n°169309
bobuse
Posté le 01-07-2002 à 23:04:14  profilanswer
 

il est sous license GPL je crois.

n°169316
--greg--
Posté le 01-07-2002 à 23:10:46  profilanswer
 
n°169326
[FDS]
Posté le 01-07-2002 à 23:24:24  profilanswer
 

Pour accéder à ton image tu fais:
 
getClass().getResource(monImage.jpg);

mood
Publicité
Posté le 01-07-2002 à 23:24:24  profilanswer
 

n°169399
veryfree
Posté le 02-07-2002 à 08:09:14  profilanswer
 

--greg-- a écrit a écrit :

http://www.incors.org/




 
merci

n°169416
bobuse
Posté le 02-07-2002 à 09:12:50  profilanswer
 

pour le jar, nickel ça marche, j'ai vérifié!
 
en revanche l'image ... je fais ça :
ImageIcon Logo=new ImageIcon(this.getClass().getResource("logo.png" ));
 
j'ai ça
$ jar tf batsim.jar
META-INF/
META-INF/MANIFEST.MF
logo.png
...
 
et ça me donne ...  :sweat:  
Exception in thread "main" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
        at batsim.BatSimFrame.<init>(BatSimFrame.java:226)
        at batsim.BatSim.main(BatSim.java:114)
ça !

n°169458
darklord
You're welcome
Posté le 02-07-2002 à 09:48:10  profilanswer
 

Code :
  1. getResource("/logo.png" );


---------------
Just because you feel good does not make you right
n°169490
bobuse
Posté le 02-07-2002 à 10:10:30  profilanswer
 

DarkLord a écrit a écrit :

Code :
  1. getResource("/logo.png" );






 :jap:  
 
En fait du spécifie l'adresse par rapport à la racine du jar. Bon à savoir! Merci

n°169495
bobuse
Posté le 02-07-2002 à 10:13:57  profilanswer
 

et donc pour finir, c'est pas possible de mettre un jar dans l'archive jar ?

n°169526
darklord
You're welcome
Posté le 02-07-2002 à 10:44:08  profilanswer
 

bin si pq? Mais bon évidemment si il est vide ...  :sarcastic:


---------------
Just because you feel good does not make you right
n°169529
darklord
You're welcome
Posté le 02-07-2002 à 10:44:55  profilanswer
 

ceci dit je ferais d'abord un getResource et je testerai ensuite si il est null ou pas. Parce que bon c'est un peu crade et pas du tout défensif comme facon de programmer ...


---------------
Just because you feel good does not make you right
n°169551
bobuse
Posté le 02-07-2002 à 11:02:22  profilanswer
 

bon en fait ce que j'ai fait, et je pense que c'est ce qu'il fallait faire, c'est d'extraire mon kunststoff.jar et de mettre les .class dans mon jar  :D

n°169566
bobuse
Posté le 02-07-2002 à 11:11:30  profilanswer
 

du coup c'est rulezzz, un seule fichier pour toute mon appli. Trop fort le jar.
 :love:  
Je voulais signaler que sous Linux aussi, on lance les jar avec un clic de souris  :D  
 
merci à tous !
 
 :hello:

n°169575
darklord
You're welcome
Posté le 02-07-2002 à 11:17:41  profilanswer
 

warning -> Vérifie les licenses si le jar ne t'appartient pas. Générallement, meme en LGPL on n'a pas le droit de toucher au jar ...


---------------
Just because you feel good does not make you right
n°169591
bobuse
Posté le 02-07-2002 à 11:29:22  profilanswer
 

ben , et si je met le jar en plus du repertoire extrait du jar ? Ca marche non ? Je suis allé lire en diagonale la license LGPL, et je suis pas sûr d'avoir tout compris, mais bon ...
 
De toutes façons, l'appli n'est pas à usage commercial !
 
Là je sais pas, ya pas un expert en droit info ki connaitrait bien LGPL dans les parages par hasard ? :??:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] un .jar dans une archive jar ET jar + classpath [Résolu]

 

Sujets relatifs
[Java] comment on fait une saisie au clavier a partir de la console?[php] pb redirection header / arguments RESOLU!!
Comment intégrer un flux de vidéo ds un environnement java?[resolu]Generalized Linear Model et le langage C
Une bonne grosse variable globale, en Java, y a vraiement pas moyen !?exercices Java !!
evenement + java[java] parser XML : fichier XML dans un jar ou non....
Activer Java dans Netscape 6Largeur des boutons (RESOLU)
Plus de sujets relatifs à : [java] un .jar dans une archive jar ET jar + classpath [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR