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
z.B. in der Kommandozeile: JAVA -classpath AtUsbHidJni.jar;MeinProgramm.jar MeinPackage.MeineKlasse Ansosnten ist mir nicht ganz klar was "für sich" jezt genau bedeutet... Kommandozeile? Jar Package? Exe Wrapper?
??? 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").
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
Hi Läubi, sorry dass ich mich jetzt erst melde; der Tag war stressig. Werde mir jetzt mal Tor Nummer 3 vornehmen. Klingt ja sehr interessant!
Der große Vorteil von JSmooth ist halt das du da den ganzen Setup ala Maximaler Speicher, benötigte VM's+Libarys schön "DAU-freundlich" verpacken kannst, JRE wird auch installiert falls kein Java vorhanden ist.
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
Naja angeblich kann man das irgenwei auch unter Linux zum laufen bringen (die Sourcen sind ja verfügbar) zumindest deuten einige Beiträge in dem Forum darauf hin. Unter Linux werden aber die nötigen DLL's nicht laufen ;)
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.
Nana... was ist den das für ein Gefühlsausbruch? ;) Schau mal ob es vieleicht irgendwelche .so Files gibt das sit sozusagen die "dll" für Linux. Ansosnten KÖNNTE es sein das es für Linux auch irgendwelche Standard Treiber für USB tun... Da kenn ich mich nun aber garnicht aus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.