Forum Linux.général java je sais pas faire

Posté par .
Tags : aucun
0
19
jan.
2005
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 . Évalué à 3.

    Effectivement, ils n'ont pas prévu le lien pour l'execution direct du .jar, c'est un peu con.

    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 . Évalué à 1.

      Yop ça marche!
      C'est sympa, merci!

      Si j'ai bien compris, le . est le délimiteur de répertoire en java?
    • [^] # Explication

      Posté par . Évalué à 3.

      Bon, je vais quand même te donner la démarche qui m'a permis de te donner cette solution, ça t'aidera surement plus tard.

      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 . Évalué à 1.

        Bizarrement, je l'ai téléchargée de là bas. La version française ne doit pas être à jour alors.
  • # Pour le Grapheur

    Posté par . Évalué à 3.

    J'ai oublié de te répondre pour le Grapheur (ton 2ème lien). En fait il suffit de décompresser le fichier ZIP et d'ouvrir le fichier PetitGrapheur.html (ou GrandGrapheur.html ou encore TresGrandGrapheur.html) avec ton navigateur préféré si tu as bien installé le plugin Java. Sinon tu peux toujours lancer la commande java suivante : appletviewer PetitGrapheur.html (ou GrandGrapheur.html ou encore TresGrandGrapheur.html) :).

    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 (page perso) . Évalué à 3.

    Pourquoi, bon sang pourquoi les programmes java ne s'exécutent pas tout simplement?
    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 à ceux qui les ont postés. Nous n'en sommes pas responsables.