Forum Programmation.java Les fichiers jar

Posté par  .
Étiquettes : aucune
0
23
nov.
2007
Bonjour tout le monde.

J'ai une application composer de plusieurs .class.

je souhaite mettre certain de ces .class dans un fichier, afin
de pouvoir les importer dans mon programme.

Je procède comme ceci:

je met toute mes class dans un repertoire.

mkdir MesClass
mv *.class MesClass/

Et je creer mon .jar
jar cvf MesClass.jar MesClass/

Donc, à ce moment, mon fichier est créer.

Mais quand je souhaite l'importer dans mon programme:
import MesClass.* ; 

J'ai une belle erreur:
bad class file: MesClass.jar(MesClass/needed.class)
class file contains wrong class: needed
Please remove or make sure it appears in the correct subdirectory of the classpath.



Ou ai-je faux ?
  • # suffit de lire

    Posté par  . Évalué à 1.

    Please remove or make sure it appears in the correct subdirectory of the classpath.


    il faut peut-etre modifier le CLASSPATH et lui ajouter
    ./Mesclass/

    pour qu'il trouve le needed.class au bon endroit ?


    en meme temps je dis ca, je suis pas developpeur, je peux donc etre completement à coté de la plaque.

    :D
    • [^] # Re: suffit de lire

      Posté par  . Évalué à 2.

      Quand je tente un
      javac -cp ./MesClass.jar
      je me prendre l'erreur...

      J'en peux plus de java...! :)
      • [^] # Re: suffit de lire

        Posté par  . Évalué à 2.

        pardon, un

        javac -cp ./MesClass.jar MonProg.java
        • [^] # Re: suffit de lire

          Posté par  . Évalué à 2.

          man javac me dit que la syntaxe devrait etre la suivante :

          javac -classpath /examples:/lib/Banners.jar Hi.java


          pour aller chercher les CLASS dans /exemples, puis dans /lib/Banners.jar
          • [^] # Re: suffit de lire

            Posté par  . Évalué à 2.

            Mais mon classpath est :

            .:/opt/jdk1.6.0_03/jre/lib/:/tomcat/lib/:/tomcat/lib/servlet-api.jar

            donc, tout les .jar dans le repertoire courant devraient etre pris...?
            Et la, avec le MesClass.jar dans le meme repertoire que MonProg.class, j'ai :

            MonProg.java:1: package MesClass does not exist
  • # Declaration du package dans tes sources

    Posté par  . Évalué à 4.

    Les sources de ton package commencent t'ils tous par la déclaration du package auxquels ils appartiennent

    avec
    package MesClass


    Java se moquent du nom du package ce qui lui importe c'est le nom que tu déclares dans les fichiers qui constitue le package et dans les classe qui l'appellent.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.