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

  FORUM HardWare.fr
  Programmation
  Java

  [RESOLU] Sous Eclipse l'exécution marche bien mais pas avec la comm

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Sous Eclipse l'exécution marche bien mais pas avec la comm

n°1925326
Yop69
Posté le 20-09-2009 à 13:21:16  profilanswer
 

Bonjour,
 
Voila je suis sous Eclipse et mon programme compile et s'exécute impec.
J'ai mes .java dans un repertoire .java et les .class dans un repertoire bin.
J'exporte avec Fat jar exporter car j'ai une bibliothèque externe (jdom) que j'ai mis dans un repertoire plugins
 
Quand je veux exécuter mon programme  
 

Code :
  1. YoApp$ java -splash:conf/splash.png HelloWorld
  2. Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
  3. Caused by: java.lang.ClassNotFoundException: HelloWorld
  4. at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  5. at java.security.AccessController.doPrivileged(Native Method)
  6. at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  7. at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  8. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  9. at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  10. at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  11. Could not find the main class: HelloWorld.  Program will exit.
  12. yo@yo-laptop:~/workspace/YoApp$


 
J'ai un peu de mal. Pouvez vous m'aider ?


Message édité par Yop69 le 23-09-2009 à 22:17:46
mood
Publicité
Posté le 20-09-2009 à 13:21:16  profilanswer
 

n°1925435
cbeyls
Hail to the King, Baby
Posté le 21-09-2009 à 02:53:04  profilanswer
 

Si tu exportes ton application dans un jar, tu dois passer le fichier jar en paramètre à java:
 
java -jar monappli.jar mon.package.HelloWorld
 
Tu peux aussi mettre le nom de la classe contenant le point d'entrée principal (la méthode main) dans le fichier MANIFEST.MF dans le jar avec la propriété "Main-Class". Dans ce cas, donner le jar en paramètre suffit:
 
java -jar monappli.jar

n°1925439
Yop69
Posté le 21-09-2009 à 04:34:46  profilanswer
 

Si je fais ceci

Code :
  1. java -jar YoApp.jar -splash:conf/splash.png HelloWorld

, je perds mon splashscreen (enfin j'ai mon exception normale), et je ne sais pas quoi mettre à la place de java -jar monappli.jar mon.package.HelloWorld . C'est vraiment bête mais je bute :(
 
Concernant le fichier manifest j'aimerais bien m'en servir mais la aussi je bute :(
Si je fais java -jar monappli.jar j'ai mon execption qui est levée vu que je n'ai pas mon splashscreen
 

Manifest-Version: 1.0
 
Main-Class: HelloWorld
 
Class-Path: ./java
 
Created-By: xxx 1.5.0_06 (Sun Microsystems Inc.)


Message édité par Yop69 le 08-12-2009 à 12:38:05
n°1925528
pataluc
Posté le 21-09-2009 à 13:48:51  profilanswer
 

sauf erreur de ma part, tu dois mettre les arguments de ton appli après le nom de la classe:

Code :
  1. java -jar YoApp.jar HelloWorld -splash:conf/splash.png

n°1925563
cbeyls
Hail to the King, Baby
Posté le 21-09-2009 à 15:16:31  profilanswer
 

Tu as raison pataluc mais ici le paramètre splash doit être passé à la JVM et pas à l'appli puisque c'est un SplashScreen standard géré par la JVM.
 
Yop69, si tu veux utiliser un SplashScreen avec une appli packagée dans un jar, tu dois mettre le SplashScreen dans le jar et ajouter cette ligne dans le MANIFEST.MF :
 
SplashScreen-Image: conf/splash.png
 
(comme indiqué dans la doc de Sun)
 
Et le package dont je parlais c'est au cas où ta classe HelloWorld se trouve dans un package mais si ce n'est pas le cas tu dois juste mettre le nom de la classe.


Message édité par cbeyls le 21-09-2009 à 15:18:43
n°1925623
Yop69
Posté le 21-09-2009 à 18:47:01  profilanswer
 

Merci à vous de m'aider. En ce qui concerne la commande java celle c'est ca qui marche :

Code :
  1. java -splash:conf/splash.png -jar YoApp.jar


 
Après avec le fichier manifest, je n'arrive pas à lancer la commande java en prenant en compte ce fichier. Car il me démarre l'appli dans lancer le splashscreen (indiqué dans le fichier manifest par SplashScreen-Image: conf/splash.png )  :sweat:

n°1925685
cbeyls
Hail to the King, Baby
Posté le 22-09-2009 à 00:22:49  profilanswer
 

Tu as mis le fichier splash.png dans un dossier "conf" à l'intérieur du fichier jar ?

n°1925687
Yop69
Posté le 22-09-2009 à 00:43:15  profilanswer
 

humm je suis bête, dans le .jar, il est à la racine, mais dans mon projet la ou je lance la commande, il est dans le dossier conf.
 
En corrigeant le manifest
 

Code :
  1. Manifest-Version: 1.0
  2. Main-Class: HelloWorld
  3. Class-Path: ./YoApp.jar
  4. SplashScreen-Image: splash.png
  5. Created-By: xxx 1.5.0_06 (Sun Microsystems Inc.)


 
J'ai toujours une exception que je lance dans ma classe Splash :( qui m'empeche d'avoir mon splashscreen ! (l'appli est bien lancée après)
 

Code :
  1. yo@yo-laptop:~/workspace/YoApp$ java -jar YoApp.jar
  2. Exception in thread "Thread-1" java.lang.IllegalStateException: Splash >> no overlay image available
  3. at Splash.run(Splash.java:15)
  4. at java.lang.Thread.run(Thread.java:619)


Message édité par Yop69 le 08-12-2009 à 12:38:45
n°1925688
Yop69
Posté le 22-09-2009 à 00:45:54  profilanswer
 

Je crois avoir compris...
En fait Eclipse doit me générer un manifest et bien sur il oublie le splash.png :(

n°1925689
Yop69
Posté le 22-09-2009 à 00:47:51  profilanswer
 

Ok j'ai trouvé !!
Lors de l'export du jar j'ai tout simplement une option qui me permet de selectionner un manifest externe...  :whistle:  
 
Désolé pour le dérangement ;)
 
Merci de ton aide !
 
(j'aime bien comme tu sors de ta tanière après minuit  :D ). Tu travailles pas le lendemain ? tu es étudiant ?


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

  [RESOLU] Sous Eclipse l'exécution marche bien mais pas avec la comm

 

Sujets relatifs
[RESOLU] JProgressBar qui affiche directement 100% :([Résolu] popen marche pas ???
PHP : str_replace ne marche même pas[Résolu tout seul] [GTK] GTK Cell Renderer ne dessine qu'une ligne ?
[RESOLU] SplashScreen qui clignote[Matlab] (Résolu) Décalage de fréquences avec DCT
[Résolu] Informations d'une photo[Résolu] erreur stray \320 \240
Résolu : Récupérer le nom d'un tableau dynamique sous Excel2007 
Plus de sujets relatifs à : [RESOLU] Sous Eclipse l'exécution marche bien mais pas avec la comm


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