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

API standards et tierces Java Discussion :

Problème avec Javax-usb


Sujet :

API standards et tierces Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 28
    Points
    28
    Par défaut Problème avec Javax-usb
    Bonjour,

    Je me suis aidé du lien "Les meilleurs API Java" pour trouver une librairie qui permettais de communiquer avec les ports USB sur Ubuntu. Je suis donc passé sur ce site : http://javax-usb.org/.

    J'ai télécharger ces 3 dossiers
    • javax-usb
    • javax-usb-ri
    • javax-usb-ri-linux


    J'ai utilisé la commande "ant" à la racine de chaque dossier pour faire le build (d'ailleurs je n'ai pas compris ce que ça faisait).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    help:
         [echo] Buildfile for javax.usb Linux Implementation
         [echo] 
         [echo] Targets:
         [echo] 
         [echo]   all                == clean compile jars jdoc
         [echo]   clean              Clean everything
         [echo]   compile            Compile all classes
         [echo]   help               Show this help
         [echo]   jars               Create JAR files
         [echo]   jdoc               Create JavaDOC
         [echo] 
     
    BUILD SUCCESSFUL
    Total time: 0 seconds
    J'ai ajouté dans chaque sous-dossier /lib les fichiers .jar qu'il fallait :
    • javax-usb --> jsr80-1.0.1.jar
    • javax-usb-ri --> jsr80_ri-1.0.1.jar
    • javax-usb-ri-linux --> jsr80_linux-1.0.1.jar


    Ainsi que le fichier .properties et .so comme demandé dans le "README"
    • javax-usb-ri-linux --> javax.usb.properties & libJavaxUsb.so.1.0.1


    Dans Eclipse je rajoute les CLASSPATH des 3 .jar ainsi que le dossier qui contient les 2 fichiers supplémentaire. Mais malgré toutes ces étapes je n'arrive pas faire fonctionner un des codes d'exemple.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    import javax.usb.*;
    import java.util.List;
     
    public class GetUSB
    {
            public static void main(String argv[])
            {
              try
              {
                  // Access the system USB services, and access to the root 
                  // hub. Then traverse through the root hub.
                  UsbServices services = UsbHostManager.getUsbServices();
                  UsbHub rootHub = services.getRootUsbHub();
                  traverse(rootHub);
              } catch (Exception e) {
            	  System.out.println("Erreur :   " + e);
              }
            }
     
            public static void traverse(UsbDevice device)
            {
            	System.out.println("entrer");
              if (device.isUsbHub())
              {   
                 // This is a USB Hub, traverse through the hub.
                 List attachedDevices = 
                     ((UsbHub) device).getAttachedUsbDevices();
                 for (int i=0; i<attachedDevices.size(); i++)
                 {
                   traverse((UsbDevice) attachedDevices.get(i));
                 }
              }
              else
              {    
                 // This is a USB function, not a hub.
                 // Do something.
              }
            }
    }
    Il passe dans l'exception et me met : "javax.usb.UsbException: Error while loading shared library libJavaxUsb.so : no JavaxUsb in java.library.path".

    J'arrive pas à comprenre où dans Eclipse je dois ajouter mon fichier .so et savoir s'il me manque quelque chose pour la librairie Javax-usb.

    Je pensais avoir suivi toutes les étapes ...

    J'espère que quelqu'un pourrait m'aider.

    Merci

    Palo

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    J'avais un doute sur la compilation des build.xml. Je les ai refait et en effet ils ne fonctionnent pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    lte@lte-desktop:~/Bureau/test/javax-usb$ ant all
    Buildfile: /home/lte/Bureau/test/javax-usb/build.xml
     
    clean:
         [echo] Cleaning everything in javax.usb API.
     
    compile:
         [echo] Compiling javax.usb API classes
        [javac] /home/lte/Bureau/test/javax-usb/build.xml:120: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
        [javac] Compiling 49 source files to /home/lte/Bureau/test/javax-usb/src
     
    BUILD FAILED
    /home/lte/Bureau/test/javax-usb/build.xml:120: java.lang.NoClassDefFoundError: gnu/classpath/Configuration
    	at com.sun.tools.javac.Main.<clinit>(Main.java:66)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:186)
    	at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.doesModernCompilerExist(CompilerAdapterFactory.java:165)
    	at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:124)
    	at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1088)
    	at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:906)
    	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:616)
    	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    	at org.apache.tools.ant.Task.perform(Task.java:348)
    	at org.apache.tools.ant.Target.execute(Target.java:390)
    	at org.apache.tools.ant.Target.performTasks(Target.java:411)
    	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
    	at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
    	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    	at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
    	at org.apache.tools.ant.Main.runBuild(Main.java:801)
    	at org.apache.tools.ant.Main.startAnt(Main.java:218)
    	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
    Caused by: java.lang.ClassNotFoundException: gnu.classpath.Configuration
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    	... 23 more
     
    Total time: 0 seconds
    Maintenant j'ai trouvé sur ce forum un message qui donnais quelques information :

    Citation Envoyé par rems033
    le JDK 1.6 n'intègre pas de prime abord de bibliothèques de communication avec les ports USB et Série. En google-isant, je suis tombé sur 2 API supplémentaires à ajouter au JDK et permettant de tels échanges. Ces API se nomment javax-usb et RXTX. Les fichiers téléchargés contiennent tous deux des fichiers *.so ainsi que des fichiers properties et des fichiers *.jar.
    Les fichiers javax.comm.properties ainsi que javax.usb.properties sont à installer dans le répertoire [jdk path]/jre/lib/ alors que les fichiers *.so sont à installer dans le répertoire [jdk path]/jre/lib/i386/. En ce qui concerne les fichiers *.jar sont à placer dans le dossier [jdk path]/jre/lib/ext/.
    Il ne faudra pas oublier de rajouter les fichiers *.jar dans le CLASSPATH afin que le jdk puisse les importer.
    Donc comme dis plus haut, j'ai télécharger le .so et le .properties ainsi que les 3 partie de javax-usb (les 3 .jar)

    J'utilise <java-1.6.0-openjdk>, donc en résumé les build ne sont pas nécessaire (et ne fonctionnent pas).

    • .properties : <jdk>/jre/lib
    • .so : <jdk>/jre/lib/i386
    • .jar : <jdk>/jre/lib/ext


    • .properties : javax.comm.properties - javax.usb.properties
    • .so : libJavaxUsb.so
    • .jar : jsr80-1.0.1.jar - jsr80_linux-1.0.1.jar - jsr80_ri-1.0.1.jar


    Par contre je n'arrive pas à trouver le fichier "javax.comm.properties", tous les autres j'ai pu les télécharger sur Sourceforge, mais pas celui là. Si quelqu'un à un lien une indication ?

    Pour ce qui est de l'erreur de mon précédent post, elle n'y ai plu, j'ai plus qu'à trouver ce dernier fichier.


    EDIT : J'ai ajouté la doc dans Eclipse à l'aide de la doc en ligne (http://www.javax-usb.org/jdoc), mais rien n'est disponible dans éclipse quand je regarde les méthode ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec javax.speech
    Par salmoucha dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 13/12/2009, 18h33
  2. Problème avec l'usb en C#
    Par himdene dans le forum C#
    Réponses: 0
    Dernier message: 25/08/2009, 11h44
  3. Réponses: 4
    Dernier message: 29/06/2009, 11h54
  4. Problème avec clé usb KINGSTON
    Par messahel dans le forum Périphériques
    Réponses: 0
    Dernier message: 24/04/2009, 22h57
  5. Problème avec javax/mail
    Par mahhour dans le forum NetBeans
    Réponses: 1
    Dernier message: 18/07/2007, 13h12

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