IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Il me manque des librairies, mais lesquelles ?


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 48
    Points : 21
    Points
    21
    Par défaut Il me manque des librairies, mais lesquelles ?
    Salut à tous!

    Voilà je suis en train de faire un programme en java sous linux (ubuntu dapper), en utilisant sun-java5-jdk.
    J'ai rajouté l'utilisations de 2-3 nouvelles classes destinées à gérer l'impression, et depuis, le programme me sort ça lors de l'execution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ java carteMaker
    Exception in thread "main" java.lang.NoClassDefFoundError: carteMakerFrame
       at java.lang.Class.initializeClass(libgcj.so.7)
       at carteMaker.main(carteMaker.java:21)
    Caused by: java.lang.ClassNotFoundException: javax.print.SimpleDoc not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.Extensi onClassLoader{urls=[], parent=null}}
       at java.net.URLClassLoader.findClass(libgcj.so.7)
       at java.lang.ClassLoader.loadClass(libgcj.so.7)
       at java.lang.ClassLoader.loadClass(libgcj.so.7)
       at java.lang.Class.forName(libgcj.so.7)
       at java.lang.Class.initializeClass(libgcj.so.7)
       ...1 more
    il me manque des librairies apparemment, mais je n'arrive pas à savoir lesquelles... voilà ce que me donne un dpkg -l |grep gcj :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ii  gcj                                   4.1.0-1                                 The GNU Java compiler
    ii  gcj-4.1                               4.1.0-1ubuntu8                          The GNU compiler for Java(TM)
    ii  gcj-4.1-base                          4.1.0-1ubuntu8                          The GNU Compiler Collection (gcj base packag
    ii  java-gcj-compat                       1.0.56-0ubuntu1                         Java runtime environment using GIJ
    ii  libgcj-common                         4.1.0-1ubuntu8                          Java runtime library (common files)
    ii  libgcj-dev                            4.1.0-1                                 Java development headers and static library
    ii  libgcj7                               4.1.0-1ubuntu8                          Java runtime library for use with gcj
    ii  libgcj7-awt                           4.1.0-1ubuntu8                          AWT peer runtime libraries for use with gcj
    ii  libgcj7-dev                           4.1.0-1ubuntu8                          Java development headers and static library
    ii  libgcj7-jar                           4.1.0-1ubuntu8                          Java runtime library for use with gcj (jar f
    et voilà encore les import que j'ai rajouté à mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import java.awt.print.*;
    import javax.print.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    Est-ce que qqn a une idée ? (Avec windows, le programme marche très bien avec la dernière version du jdk)

    Merci

  2. #2
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Tes librairies sont tres bien, puique l'executable java fonctionne

    Par contre tu as un probleme de classpath lorsque tu executes ton appli.

    Par ailleurs tu n'utlises pas le jdk de sun car :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ java carteMaker
    Exception in thread "main" java.lang.NoClassDefFoundError: carteMakerFrame
       at java.lang.Class.initializeClass(libgcj.so.7)
       at carteMaker.main(carteMaker.java:21)
    Caused by: java.lang.ClassNotFoundException: javax.print.SimpleDoc not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.Extensi onClassLoader{urls=[], parent=null}}
       at java.net.URLClassLoader.findClass(libgcj.so.7)
       at java.lang.ClassLoader.loadClass(libgcj.so.7)
       at java.lang.ClassLoader.loadClass(libgcj.so.7)
       at java.lang.Class.forName(libgcj.so.7)
       at java.lang.Class.initializeClass(libgcj.so.7)
       ...1 more
    semble indiquer c'est la vm GNU qui execute ton code est, pas la vm de Sun !!!

    Tu peux facilement le verfier en executant les commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java -version 
    wich java
    A mon avis, soit le jdk de sun n'est pas installé, soit l'install du jdk gnu prend la precedence dans ton path.

    Dans les deux cas je t'invite a jetter un coup d'oeil a la FAQ linux, car il me semble que l'install du JDK de Sun y est detaillé. Si ce n'est pas le cas, j'ai vu un certain nombre de threads dans le forum qui en parlent.

    Par aillers tu peux surement continuer a utiliser la vm gnu pour le peu que tu fixes le classpath de maniere disposer de la classe javax.print.SimpleDoc. Par contre n'ayant pas beaucoup d'experience avec la vm gnu, je ne peux pas te le garantir.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Pour préciser le jdk à utiliser (gcj par défaut), cela peut se régler avec cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo update-alternatives --config java

    Julp.

Discussions similaires

  1. Des scripts de Forums, mais lesquels choisir ?
    Par ishikawa dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 19/11/2010, 17h16
  2. Réponses: 1
    Dernier message: 11/06/2008, 17h38
  3. Librairies manquantes mais lesquelles?
    Par titof90 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/06/2007, 19h04
  4. Il manque des fonctions?
    Par Gruik dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/10/2003, 23h44
  5. compatibilité des librairies directX8
    Par Freakazoid dans le forum DirectX
    Réponses: 3
    Dernier message: 23/05/2002, 21h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo