我試圖從Java簽名Applet閱讀便攜式設備.... 我發現了一個jmtp庫上 http://code.google.com/p/jmtp/w/list以訪問便攜式設備,但是當我在NetBeans中運行它,它給了錯誤 包括本地庫中的Netbeans
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jmtp in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at jmtp.PortableDeviceManagerImplWin32.(PortableDeviceManagerImplWin32.java:38) at jmtp.PortableDeviceManager.(PortableDeviceManager.java:34) at jmtp.Jmtp.main(Jmtp.java:23) Java Result: 1
我搜索,發現我必須包括.dll文件作爲jmtp ... 我右鍵點擊項目,並導航到屬性,然後選擇項目「運行」本地庫,並選擇VM選項,
-Djava.library.path="c:\jmtp\native\windows"並將該jmtp.dll文件放在c:\ jmtp文件夾中
但出現同樣的錯誤不斷 我的代碼是
package jmtp;import jmtp.PortableDevice; import jmtp.PortableDeviceManager; import jmtp.PortableDeviceObject; import jmtp.PortableDeviceStorageObject; public class Jmtp { public static void main(String[] args) { PortableDeviceManager manager = new PortableDeviceManager(); PortableDevice device = manager.getDevices()[0]; // Connect to my mp3-player device.open(); System.out.println(device.getModel()); System.out.println("---------------"); // Iterate over deviceObjects for(PortableDeviceObject object : device.getRootObjects()) { // If the object is a storage object if(object instanceof PortableDeviceStorageObject) { PortableDeviceStorageObject storage = (PortableDeviceStorageObject)object; for(PortableDeviceObject o2 : storage.getChildObjects()){ System.out.println(o2.getName()); } } } manager.getDevices()[0].close(); } }
請告訴我什麼是問題
您也可以直接從源檔案中附加的bat文件複製和粘貼參數。 – 2013-07-10 08:09:39