Atmel AtUsbHidJni in Java einbinden

Gast #1323193
Lesenswert?

Hallo zusammen,

ich habe hier den AT90USBKey und einen ganzen Haufen Beispiele von Atmel 
herumliegen.
Mit Hilfe von Netbeans habe ich (PC-Programmier-Anfänger) eine Anwendung 
in Java geschrieben und soweit getestet. Das Problem ist: Unter Netbeans 
läuft das Programm, wenn ich das Programm aber "für sich" starte bekomme 
ich folgende Fehlermeldung: "Exception in thread "AWT-EventQueue-0" 
java.lang.UnsatisfiedLinkError: no AtUsbHidJni in java.library.path".
In einem Dokument von Atmel heisst es außerdem : "To compile the 
project, please add to the class path of the AtUsbHidJni.jar package:
JAVAc userhid.JAVA -classpath AtUsbHidJni.jar". Wo stelle ich jetzt in 
Netbeans was ein? Bin da ein bisschen überfordert...

robbse
Gast #1323222
Lesenswert?

??? OK jetzt mal langsam, bitte.
Die Fehlermeldung erhalte ich wenn ich das ganze über das 
Kommandofenster starte. Eigentlich will ich aber einen Doppelklick auf 
das *.jar-File machen, welches von Netbeans erstellt wurde (das meine 
ich mit "für sich").
Persönliche Seite #1323329
Lesenswert?

Naja der Fehler sagt dir das er die JNI nicht findet.
Du hast folgende Möglichkeiten:
1) Das Jar in den globalen Classpath einfügen
2) Einen passenden Aufruf z.B. in einer Batch/cmd Datei erzeugen
oder
3) Lade dir mal JSmooth runter. Da kannst du dann die AtUsbHidJni.jar in 
den Classpath aufnehmen, und das Programm erzeugt dir eine exe Datei mit 
den benötigten aufrufen.

1) Würde ich dir nicht unbedingt empfehlen wenn nur falls es 
ausschließlich für dich sein soll
2) ist eigentlich ganz einfach du erzeugst eine datei, z.B. start.bat 
und trägst da folgendes ein:
1
@echo off
2
SET MYJAR = <Hier der name der von Netbeans erzeugten Jar Datei>
3
SET ATUSBJAR = AtUsbHidJni.jar
4
SET MAINCLASS = <Name deiner Hauptklasse>
5
JAVA -classpath %ATUSBJAR%;%MYJAR% %MAINCLASS%
3) Ist ganz gut wenn du das Programm später vieleicht anderen zu 
Verfügung stellen willst
Gast #1324468
Lesenswert?

Mmmmh ja. OK, da muss ich auch erst mal durchblicken. *.exe-Dateien 
laufen aber nicht unter Linux, oder? Aber auf jeden Fall Danke für den 
Tipp!
Zwischenzeitlich habe ich ein anderes Workaround gefunden: Mit dem 
*jar-File von Atmel kamen noch zwei DLL's. Die habe ich jetzt beide in 
den Ordner mit der von Netbeans erzuegten *.jar gelegt und: ...es klappt 
:)
Die Variante mit nur einer Datei finde ich aber eleganter; melde mich 
dann wieder.

Thx, robbse
Gast #1326228
Lesenswert?

Ach verdammt! Da hab ich ja gar nicht drüber nachgedacht! Warum tue ich 
mir dann diesen Java-Sch*%$! an?! Naja, dann bleibe ich halt erst mal 
bei einer Windows-Lösung. Ist ja eh für die meisten erste Wahl.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren