C'est systématique. À chaque fois que je trouve une petite appli sympa qui peut me servir pour mon boulot, elle est en java.
Et en général, ça tourne mal. Quand j'essaie Geonext ( http://geonext.uni-bayreuth.de/index.html?LANG=fr(...) ) avec java -jar geonext.jar, il me renvoie des insultes (
Failed to load Main-Class manifest attribute from
geonext.jar
)
Idem avec ça :
http://xxi.ac-reims.fr/javamaths/Ressources/Grapheur.zip(...)
J'ai bien compris qu'il y avait une histoire de classe de démarrage non déclarée dans un truc qui s'appelle manifest.mf, mais après plusoeurs tentatives, impossible de réparer le truc.
J'ai aussi essayé de dézipper le jar et d'exécuter directement le .class (java fichier.class) mais il semblerait que ça ne fonctionne pas.
Donc
1. Il existe un truc du genre "java pour les nuls" pour les gens qui nont pas forcément envie de devenir développeurs, mais qui voudraient bien faire marcher les programmes?
2. Pourquoi, bon sang pourquoi les programmes java ne s'exécutent pas tout simplement?
# Solution rapide
Posté par pifou . Évalué à 3.
Bref, pour faire rapide :
- Télécharge le geonext.jar
- lance la commande suivante : java -cp geonext.jar geonext.Geonext
Et voila ça marche
[^] # Re: Solution rapide
Posté par mickabouille . Évalué à 1.
C'est sympa, merci!
Si j'ai bien compris, le . est le délimiteur de répertoire en java?
[^] # Re: Solution rapide
Posté par pifou . Évalué à 2.
Par contre, il ne donne pas les logiciels de géométrie de la suite éducation de KDE (http://edu.kde.org/(...) ). Il y en a des pas mal dans le style que GEONexT :
- KGeo : http://kgeo.sourceforge.net/(...)
- Kig : http://edu.kde.org/kig/(...) (screenshots : http://edu.kde.org/kig/screenshots.php(...) )
Voila, j'espére que tu trouveras ton bonheur dans tout ça :).
[^] # Re: Solution rapide
Posté par mickabouille . Évalué à 1.
[^] # Explication
Posté par pifou . Évalué à 3.
Alors j'ai décompressé le fichier jar (jar -xvf geonext.jar) et j'ai regardé les répertoires extrait contenant des .class :
- util/ : surement les classes utilitaires
- org/kaffe/java : les classes des conteneurs la machine virtuelle Kaffe !!! Heu je ne vois pas l'interet de les mettre dans l'archive, mais bon ...
- com/hartmath : les classes metiers du soft normalement
- geonext/ : afin le répertoire contenant les classes de l'application. C'est assez grade de les mettre comme ça à la racine du projet mais passons. On est rassuré de voir des classes commençant par JElementPane, JContent ... ça veut dire qu'on est dans l'endroit où est définie l'interface graphique (en Swing). Bref on voit aussi une classe s'appelant Geonext.class, ça ressemble à la classe principale.
Avec ça on sait maintenant où se trouve la classe à appeler (geonext/Geonext.class). On lance donc notre JVM (commande java) en lui disant de prendre dans son CLASSPATH (option -cp) le fichier geonext.jar pour lancer la boucle principale (méthode statique main) de la classe geonext/Geonext.class (en gros à ce niveau on remplace les / par des . et on omet l'extension .class pour avoir au final geonext.Geonext).
Bon maintenant, il semblerait que cette application qui parrait pourtant pas mal soit packagée n'importe comment. De plus on a même pas les sources ce qui ne coute pourtant pas grand chose dans un .jar mais bon c'est quand même du GPL d'après la license. Bref, ça ne fait pas très sérieux. Mais il semblerait que ce soit les traducteurs français qui ont mal fait leur boulot car sur le site original http://geonext.uni-bayreuth.de/(...) on trouve des versions avec un installeur et en plus la version semble beaucoup plus récente (1.0 de fin 2002 pour le site français et 1.11 de début 2004 sur le site original).
Bref, télécharge le logiciel sur le site original, la version est plus récente et est beaucoup mieux packagée (aucune bidouille à faire avec l'installateur). Un conseil, tu devrais toujours de référer au site des développeurs originaux pour voir quelle est la version la plus récente disponible, dans le cas actuel tu aurais gagné pas mal de temps.
[^] # Re: Explication
Posté par mickabouille . Évalué à 1.
# Pour le Grapheur
Posté par pifou . Évalué à 3.
Par contre, il existe surement des logiciels plus évolué pour faire ce genre de chose (regarde dans les liens que je t'ai filé au dessus).
# Plop
Posté par cho7 (site web personnel) . Évalué à 3.
Normalement un package jar bien fait doit contenir un fichier manifest contenant le nom (entre autres) de la Main-class. Ensuite un simple java -jar mon_fichier.jar l'execute, donc c'est pas dûr de faire une association de programme pour l'extension .jar (d'ailleurs de mémoire, sous windows cette association est faite, donc un double clic sur un .jar lance l'application)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.