# DLL in JAR File



## rodgerwilco (12. Feb 2016)

Hallo zusammen,

ich habe ein Programm geschrieben, welches ich gerne verteilen würde. Jedoch kann ich das Programm nicht einmal auf dem Rechner starten, auf dem es erstellt wurde.

Ich habe in Eclipse ein Programm geschrieben, dieses wurde als runnable JAR exportiert. Beim Export habe ich die Option "Package required libraries into generated JAR" gesetzt.

Es liegen nach dem Erstellen alle benötigten JARs und eine DLL im erstellten JAR-File. Alles läuft soweit wie gewünscht, aber die DLL-Datei wird nicht gefunden. Ich erhalte die Fehlermeldung:


```
WARNUNG: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
```

Meine Frage ist, wie mit soetwas korrekt umgegangen wird? Von Hand dies überall einzurichten ist keine gute Lösung. Es muss doch eine programmatische Lösung geben, die DLL zu verwenden oder zu registrieren.

Greetz
rodgerwilco


----------



## thet1983 (19. Feb 2016)

wie wird den die dll geladen?


----------



## VfL_Freak (19. Feb 2016)

Moin,

sowas ??
https://www.chilkatsoft.com/java-loadLibrary-Windows.asp

Gruß Klaus


----------



## rodgerwilco (19. Feb 2016)

@thet1983 : Genau da liegt ja das Problem. Wie lade ich eine DLL, die in einem ausgeführten JAR-File eingeschlossen ist? Das JAR-File wird auf einem normalen Client ausgeführt

@VfL_Freak : Deine Antwort geht schon in die richtige Richtung. Danke soweit. Jedoch fehlt mir noch die Idee, wie die DLL geladen werden kann, wenn sie in dem ausgeführten JAR-File steckt.

Greetz


----------



## thet1983 (23. Feb 2016)

ich glaube ohne JNI eine dll innerhalb einer Jar zuladen geht gar nicht...
schon mal daran gedacht die dll von aussen zuladen?


----------



## Thallius (23. Feb 2016)

Eigentlich sollte die DLL nicht im Paket liegen sondern im gleichen Ordner wie die .jar datei die du startest. Dann sollte sie auch geladen werden.

Gruß

Claus


----------

