Arkadaşlar merhaba.Java'da usb port haberleşmesi yapıyorum.Kullandığım API http://libusbjava.sourceforge.net/wp/?page_id=8 (http://libusbjava.sourceforge.net/wp/?page_id=8) bu.Linux kullanıyorum.Eclipsede yazdım fakat derleyici no usbJava in java.library.path hatası verdi.Çözüm ise şurada belirtilmiş fakat anlayamadım.
http://stackoverflow.com/questions/16683207/no-usbjava-in-java-library-path (http://stackoverflow.com/questions/16683207/no-usbjava-in-java-library-path)
Yardım ederseniz minnettar olacağım.Teşekkürler.
Geçen hafta aynı sorunla boğuştum, onlarca makale okudum. Bir kaç çözüm var.
1 - Kullandığınız kütüphane dosyalarının (linuxda .so, windowsta .dll) java.library.path e kopyalanması gerekiyor. Eclipsede bunun için ayarlar olmalı.
Netbeanste kütüphane dosyalarını nereye kopyaladıysam olmadı aşağıdaki çözümü buldum:
2 - jar dosyasını çalıştırırken kütüphane yolunu " -Djava.library.path= " ile belirtmek
sudo java -Djava.library.path="~/Projeler/NetbeansProjects/libs" -jar ~/Projeler/NetbeansProjects/arduinorx/dist/arduinorx.jar
Umarım yardımcı olur. İyi çalışmalar.
Hocam .so dosyası yok .jar dosyası olarak vermiş sadece.Komutu denedim fakat beceremedim sanırım.Terminaldeki çıktı
Alıntı YapException in thread "main" java.lang.UnsatisfiedLinkError: no usbJava-1.0 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at ch.ntb.inf.libusbJava.LibusbJava1.<clinit>(LibusbJava1.java:1328)
at ch.ntb.inf.libusbJava.LibusbJava.usb_init(LibusbJava.java:56)
at ch.ntb.inf.libusbJava.usbView.UsbView.getUsbTree(UsbView.java:183)
at ch.ntb.inf.libusbJava.usbView.UsbView.getJSplitPane(UsbView.java:368)
at ch.ntb.inf.libusbJava.usbView.UsbView.getJContentPane(UsbView.java:94)
at ch.ntb.inf.libusbJava.usbView.UsbView.initialize(UsbView.java:81)
at ch.ntb.inf.libusbJava.usbView.UsbView.<init>(UsbView.java:69)
at ch.ntb.inf.libusbJava.usbView.UsbView.main(UsbView.java:394)
Ben javaRXTX kütüphanesi kullamıştım, durumlar benziyor. Kullandığım kütüphanede .so dosyası (binary) hazır verilmiş direkt indirdim.
Sizin libusbjava'nın kurulum talimatlarında kaynak dosyalarını ant ile derleyerek .so dosyası oluşturmayı anlatıyor.
http://libusbjava.sourceforge.net/wp/?page_id=8 (http://libusbjava.sourceforge.net/wp/?page_id=8)
Yine oluşturulan dosyanın java.library.path'de bulunması yada sembolik bağlantı oluşturulması gerekiyor.
Cevap bekliyorum arkadaşlar.
Hocam zaten sorun orada bizde jar dosyası var onu .so uzantısı yapmak lazım.ant xxx.jar dediğimde Error: Could not find or load main class org.apache.tools.ant.launch.Launcher hatası veriyor.
Hocam anladım fakat yaparken kafam karıştı şöyle ki;
Sitesinde sadece ch.ntb.inf.libusbJava.jar ve ch.ntb.usb-0.5.9.jar kütüphaneleri var.Bunların olduğu dizinde ln -s dediğimde zaten klasör içerisinde bir dosya oluşturuyor.Symbolic link şeklinde bir dosya oluşturuyor.Ayrıca şu LD_LIBRARY_PATH denilen olayı anlamadım.Dizin mi bu ?
Uğraşayım hocam bir.Olursada olmazsada sonucu burada paylaşayım