# System.loadlibrary funktioniert nicht



## Don999 (14. Okt 2009)

Hallo,

ich will die dll rxtxSerial.dll dynamisch in einem applet laden.
Das funktioniert leider nicht, ich benutze folgendes:

```
System.loadLibrary("rxtxSerial");
```

Dann entsteht folgender Fehler:
Java.lang.UnsatisfiedLinkError: D:\rxtxSerial.dll: %1 ist keine zulässige Win32-Anwendung

Was mache ich falsch?
Laut einigen Ressourcen im Netz sollte diese dll "ladbar" sein.


----------



## Landei (14. Okt 2009)

32bit DLL auf 64bit Windows?


----------



## Don999 (14. Okt 2009)

ne, dll 32 und windows auch 32
wenn ich die dll direkt ins jre/bin verzeichnis lege, dann lädt sich die runtime umgebung die dll automatisch und es funktioniert dann auch
nur beim dynamischen laden kommt der fehler


----------



## oversoul (14. Okt 2009)

müste dass nicht bei Windows X64 nicht egal sein?

Es könnte allerdings sein, dass die DLL defekt ist oder garnicht mit JNI gemacht wurde

Haste es schonmal mit System.load(String filename)  versucht ?


----------



## Don999 (14. Okt 2009)

jetzt lässt sich die dll laden, sie durfte nur nicht im bin-verzeichnis des projekts liegen

danach tut er aber so als wäre das niemals passiert und sucht bei zugriff auf elemente der dll im library pfad von java:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver


----------



## thE_29 (14. Okt 2009)

Tjo, weil deine IDE dein Programm wahrscheinlich nicht vom bin Verzeichnis startet 

System.loadLibrary(""); sucht im AKTUELLEN Verzeichnis und im java.library.path (könnte man abändern, indem man java -Djava.library.path=BLA -jar programm.jar aufruft).

Mit System.load("PFAD/ZUR/LIB"); kannst du immer einen relativen Pfad angeben!


----------



## oversoul (14. Okt 2009)

Sry, da kann ich dir leider im moment nicht helfen da ich mir RXTx noch net angeguckt hab


----------

