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).
J'ai ajouté dans chaque sous-dossier /lib les fichiers .jar qu'il fallait :
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
- 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.
Il passe dans l'exception et me met : "javax.usb.UsbException: Error while loading shared library libJavaxUsb.so : no JavaxUsb in java.library.path".
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. } } }
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
Partager