import java.util.Iterator;
import java.util.List;
import javax.usb.UsbDevice;
import javax.usb.UsbException;
import javax.usb.UsbHostManager;
import javax.usb.UsbHub;
import javax.usb.UsbServices;
public class USBLister {
public static void main(String[] args) throws UsbException {
UsbServices services = UsbHostManager.getUsbServices();
UsbHub root = services.getRootUsbHub();
listDevices(root);
}
public static void listDevices(UsbHub hub) {
List devices = hub.getAttachedUsbDevices();
Iterator iterator = devices.iterator();
while (iterator.hasNext()) {
UsbDevice device = (UsbDevice) iterator.next();
System.out.println(device);
if (device.isUsbHub()) {
listDevices((UsbHub) device);
}
}
}
}
yukarıdaki koddan class dosyasını oluşturdum. $javac -classpath jsr80-1.0.0.jar USBLister.java
$export LD_LIBRARY_PATH=/usr/lib/libJavaxUsb.so
libJavaxUsb.so dosyasını /usr/lib altına koydum yukarıdaki gibi export ettim. Ayrıca ld.so.conf dosyasının içine /usr/lib satırını ekledim
$java -cp jsr80-1.0.0.jar:.:jsr80_ri-1.0.0.jar:jsr80_linux-1.0.0.jar USBLister
komutunu çalıştırdığımda
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.ibm.jusb.os.linux.JavaxUsb.nativeSetTraceOutput(ILjava/lang/String;)V
at com.ibm.jusb.os.linux.JavaxUsb.nativeSetTraceOutput(Native Method)
at com.ibm.jusb.os.linux.LinuxUsbServices.checkProperties(LinuxUsbServices.java:95)
at com.ibm.jusb.os.linux.LinuxUsbServices.<init>(LinuxUsbServices.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
at USBLister.main(USBLister.java:12)
hatasını alıyorum. javax.usb.properties dosyası ve diğer jar dosyaları aynı klasör içinde bulunuyor.
Hatanın nerede olduğunu anlayamadım. Nerede hata yaptığım konusunda bir fikri olan var mı?
Teşekkürler.