Y compris à la Bibliothèque Native dans Netbeans
Je suis en train de lire des appareils portables à partir de java applet signée....
J'ai trouvé un jmtp bibliothèque
http://code.google.com/p/jmtp/w/list pour obtenir l'accès à des appareils portables, mais quand je le lance dans netbeans il donne une erreur
Exception in thread "main" java.lang.UnsatisfiedLinkError: pas de jmtp en java.de la bibliothèque.chemin à java.lang.Chargeur de classe.loadLibrary(ClassLoader.java:1860) à java.lang.Moment de l'exécution.loadLibrary0(Runtime.java:845) à java.lang.Système.loadLibrary(Système d'.java:1084) au jmtp.PortableDeviceManagerImplWin32.(PortableDeviceManagerImplWin32.java:38) au jmtp.PortableDeviceManager.(PortableDeviceManager.java:34) au jmtp.Jmtp.principale(Jmtp.java:23) Java Résultat: 1
J'ai cherché et trouvé ce que j'ai à inclure .dll en tant que natif de la bibliothèque dans le projet de jmtp...
J'ai cliqué droit sur le projet et de naviguer sur propriétés, puis Choisis "Exécuter en", et Sélectionné VM Option
-Djava.de la bibliothèque.chemin="c:\jmtp\native\windows"
et que jmtp.dll fichier dans c:\jmtp dossier
Mais même message d'erreur s'affiche en permanence
mon code est
paquet 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();
}
}
s'il vous plaît, dites-moi quel est le problème
Vous pouvez également copier et coller les arguments directement à partir de la chauve-souris des fichiers joints dans l'archive source.
OriginalL'auteur Umair Aziz | 2012-10-09
Vous devez vous connecter pour publier un commentaire.
J'ai enfin trouvé la solution, afin d'inclure la bibliothèque native, nous avons besoin d'ajouter des étapes suivantes dans netbeans
Fonctionne pour moi, de ne pas inclure les dll dans le chemin d'accès, seul le répertoire où il se trouve.
Comment pouvons-nous avoir cette dll/paramètres une fois outpur jarre est de construire?
OriginalL'auteur Umair Aziz
Vous pouvez également charger la bibliothèque à partir du programme à l'aide de cette ligne:
Placez le dossier contenant le fichier
jmtp.dll
directement dans le projet Java.Sinon, j'ai essayé et ça marche:
Alors que "libs" est le dossier qui contient la dll et est placé directement sous l'java dossier de projet.
J'ai remarqué que le
jmtp.dll
donne l'exception suivante avec une version 64 bits du JDK:Vous aurez besoin pour exécuter le programme sur un 32-bit JDK pour que cela fonctionne.
OriginalL'auteur vinayc
Après avoir lutté avec pendant un certain temps, j'ai trouvé une solution au problème.
J'ai utilisé
System.out.println(System.getProperty("java.library.path"));
dans mon code pour trouver ce que la valeur réelle pour
java.library.path
était sur mon système. C'est au moins une concaténation de la%PATH%
variable pour le système et les variables d'environnement utilisateur. Donc tout ce que je nécessaire à l'est d'ajouter l'emplacement de mes bibliothèques à l'un de ceux-ci et le problème a disparu.OriginalL'auteur Luyanda Masiko