Native Library einbinden

Status
Nicht offen für weitere Antworten.

jakob

Aktives Mitglied
Hallo zusammen,

ich habe unter Eclipse eine dll eingebunden, welche von einem Jar benoetigt wird: ProjetProperties > JavaBuildPath > Libraries > Native library location des Jars

Jetzt kann ich das Jar im Eclipse nutzen.

Mein Problem ist, dass ich das Programm mit ant erstelle und ich nicht weiss wie ich dem Ant sage, dass und wo er die dll reinpacken soll. Ich habe die dll im Classpath und liefere sie auch in dem entsprechenden Verzeichnis mit, klappt aber nicht. Beim Starten des Programms bekomme ich diesem Meldung:

Code:
ERROR You have not installed the DLL named 'ICE_JNIRegistry.DLL'.
        no ICE_JNIRegistry in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: openSubKey
        at com.ice.jni.registry.RegistryKey.openSubKey(Native Method)
        at com.ice.jni.registry.RegistryKey.openSubKey(RegistryKey.java:185)
        at gui.GUI.createAndShowGUI(Unknown Source)
        at gui.GUI.<init>(Unknown Source)
        at quickzipsearch.Main.main(Unknown Source)

Dieselbe Meldung hatte ich bekommen, als ich die dll im Eclipse noch nicht wie oben beschrieben eingebunden hatte.

Liebe Gruesse,

Jakob
 
T

tuxedo

Gast
Wie startest du dein Programm? Die DLL muss anders beim aufruf von Java angegeben werden als "normale" jars ...

Müsste erst selbst nachschauen wie das ging..

- Alex
 
T

tuxedo

Gast
*gefunden*


Code:
-Djava.library.path=[PATH TO LIB]


Das musst du beim Aufruf mit angeben und natürlich aufs passende DLL_Verzeichnis zeigen lassen.

Weiß nicht genau, könnte auch sein dass du das nach dem Programmstart, vor dem laden der DLL, auch nachträglich in die System-Properties eintragen kannst... --> ausprobieren.
 

jakob

Aktives Mitglied
Hi Alex,

so

Code:
java -Djava.library.path=ICE_JNIRegistry.dll -jar quickZipSearch.jar

klappts leider nicht, selber Fehler wie vorher. Die dll liegt imselbem Verz wie das jar.

Wie kann ich die nach dem Systemstart laden?
 

jakob

Aktives Mitglied
das ist schon klar, habs mit dem absoluten und relativen Pfad versucht. Um einen Pfadfehler auszuschliessen hab ich das Teil direkt ins neben das jar gelegt.
 

Murray

Top Contributor
Gefragt ist das Verzeichnis, in dem die DLL liegt, nicht der Pfad inkl. Dateinamen der DLL. Wenn die DLL im gelichen Verzeichnis wie das Jar-File liegt, sollte
Code:
java -Djava.library.path=. -jar quickZipSearch.jar
funktionieren.
 
T

tuxedo

Gast
Ich lege alle Bibliotheken immer in einem Ordner namens "lib" parallell zur JAR.

Auf dein Programm bezogen wäre der aufruf dann so:

Code:
java -Djava.library.path=./lib -cp=./lib -jar quickZipSearch.jar
 

Murray

Top Contributor
alex0801 hat gesagt.:
Code:
java -Djava.library.path=./lib -cp=./lib -jar quickZipSearch.jar

Ist die Übergabe von -cp nicht überflüssig, wenn man -jar verwendet? Soweit ich weiß, wird weder der System-Classpath noch der mit -cp übergebene Wert ausgewertet, wenn man eine Anwendung mit -jar starten.
 
T

tuxedo

Gast
Naja, wenn man alle seine Libs in der JAR drin hat, dann ist es "bums". Aber woher soll Java denn wissen wo die Bibliothek XYZ zu finden ist, wenn sie nicht in der Start-JAR enthalten ist, sondern in einem "aufgeräumten" "lib" Verzeichnis liegt ...

- Alex
 

Murray

Top Contributor
alex0801 hat gesagt.:
Naja, wenn man alle seine Libs in der JAR drin hat, dann ist es "bums". Aber woher soll Java denn wissen wo die Bibliothek XYZ zu finden ist, wenn sie nicht in der Start-JAR enthalten ist, sondern in einem "aufgeräumten" "lib" Verzeichnis liegt ...
Wenn die Anwendung aus dem Start-Jar die Bibliothek XYZ braucht, dann muss XYZ entweder im Start-Jar enthalten sein ("Fat-JAR"-Ansatz), oder das Manifest des Start-Jars muss eine Class-Path-Eintrag mit dem relativen Pfad zu XYZ.jar enthalten.
 
T

tuxedo

Gast
Ah, ich verstehe... Da wär ich dann schon drüher drauf gekommen wenn Eclipse mir sowas angeboten hätte, oder hab ich das nur übersehen?

Wie sieht dann die Manifest Beispielsweise aus?
So?

Code:
Manifest-Version: 1.0
CLASS-PATH: ./lib
Und kann ich darin auch den DLL-File Pfand angeben? oder bleibt mir nur die System-Properties?

- Alex
 

Murray

Top Contributor
Wie beim "normalen" Classpath müssen die Jar-Files explizit aufgeführt sein, also
Code:
Class-Path: lib/XYZ.jar lib/abc.jar
Hier sind die einzelnen Einträge zur Abwechslung mal weder durch Semikola, noch durch Dopplepunkte, sondern durch Blanks getrennt.
 
T

tuxedo

Gast
Ähm, in Java 6 muss ich bei der Angabe von "-cp" nur noch auf das Verzeichnis zeigen, und nicht auf jede File (eine der tollen Neuerungen, wie ich gelesen hab).

Ist das beim Manifest dann nicht genau so?
 

Murray

Top Contributor
alex0801 hat gesagt.:
Ähm, in Java 6 muss ich bei der Angabe von "-cp" nur noch auf das Verzeichnis zeigen, und nicht auf jede File (eine der tollen Neuerungen, wie ich gelesen hab).
Ich verstehe die Doku so, dass man bei -cp zumindest noch ein Sternchen angeben muss, also -cp lib/* (oder doch -cp lib\* ?)


alex0801 hat gesagt.:
Ist das beim Manifest dann nicht genau so?
Die Doku gibt dazu nichts her.
 
T

tuxedo

Gast
Naja, auf den * kommts dann ja nicht mehr an. Ich hab halt den vorteil dass ich nicht die ganzen Libs einzeln aufzählen muss. Beim letzten größeren Projekt waren das über 10 Stück.

Mit dem Manifest: Werd ich wohl ausprobieren müssen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
F Java Native/Shared Library (.so) laden macht Probleme Allgemeine Java-Themen 3
reibi JNA - Native Acess - Library Path Allgemeine Java-Themen 2
G Native Library / Fehler beim Laden der .so/.dll Datei Allgemeine Java-Themen 17
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
T Native Library ausliefern Allgemeine Java-Themen 12
RalleYTN Classpath Native Dateien(DLL, SO, JNILIB) Allgemeine Java-Themen 2
W Java Native Interface und "mp3player" Allgemeine Java-Themen 3
P Eclipse Java Native Interface-Problem Allgemeine Java-Themen 8
L Native Bilbiothek exportieren Allgemeine Java-Themen 10
G Webstart Java Web Start und native Bibliotheken Allgemeine Java-Themen 3
KrokoDiehl JNI: native im Interface Allgemeine Java-Themen 4
KrokoDiehl thread-unsichere, native Bibliotheken Allgemeine Java-Themen 11
M Java Web Start - Native DLL einbinden Allgemeine Java-Themen 2
M Java native C# Allgemeine Java-Themen 2
F GCJ bzw. native Java-Programme Allgemeine Java-Themen 7
B Native DLL zweimal laden: System.load(sPath); Allgemeine Java-Themen 5
S native methoden in try / catch ? Allgemeine Java-Themen 3
L Native Threads unter Linux? Allgemeine Java-Themen 2
G Java-Befehle Native und Static Allgemeine Java-Themen 2
minzel Java Native Interface Allgemeine Java-Themen 9
M unable to create new native thread Allgemeine Java-Themen 6
S komplett in native kompilieren Allgemeine Java-Themen 6
G jar archiv und native klassen (pfad angabe) Allgemeine Java-Themen 2
C Java Native binding Code will nicht so ganz Allgemeine Java-Themen 2
M Threads (Native oder Green) Allgemeine Java-Themen 2
D unable to create new native thread Allgemeine Java-Themen 1
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
D Open Source Library zum erstellen von PDFs Allgemeine Java-Themen 1
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
F Kennt ihr eine Library um 2 HTML Seiten zu diffen? Allgemeine Java-Themen 8
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
O Arrays an DOCX-Stamper Library übergeben Allgemeine Java-Themen 1
TheWhiteShadow 2D-Grafik GIF Library mit byte output Allgemeine Java-Themen 10
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
A Classpath Library in verschiedenen Projekten Allgemeine Java-Themen 2
O Standard library nativer C code Allgemeine Java-Themen 1
B OCR Library gesucht Allgemeine Java-Themen 6
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
Tausendsassa Kabeja Library Allgemeine Java-Themen 9
4a61766120617274697374 PDF library Allgemeine Java-Themen 5
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
S Classpath Wie kann ich Java-Library Klassen "verstecken"..? Allgemeine Java-Themen 4
J Lanterna Library Allgemeine Java-Themen 2
F rxtx library mit virtuellem Comport Allgemeine Java-Themen 2
chuxXo JAVA MP3 Library Allgemeine Java-Themen 11
F Frage zur Library JTS Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
G USB Library Allgemeine Java-Themen 1
B Load Library and use JNA to access Allgemeine Java-Themen 3
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
B IRC-Library Gesucht Allgemeine Java-Themen 2
N DTAU Library Allgemeine Java-Themen 2
H java.library.path mit einer Batch-Datei einstellen Allgemeine Java-Themen 3
B NetBeans Library nicht gefunden Allgemeine Java-Themen 6
T Einbinden einer Library in NetBeans Allgemeine Java-Themen 3
S RXTX library in Jar einbinden Allgemeine Java-Themen 5
R JNI load so-library Allgemeine Java-Themen 4
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
I Library für High Performance Mime Type Erkennung Allgemeine Java-Themen 8
C Jni Library/dll erstellen Allgemeine Java-Themen 4
G Suche "richtiges" Framework/Library Allgemeine Java-Themen 14
G Library für CNC Programme Allgemeine Java-Themen 2
T Mathematik Parser Library? Allgemeine Java-Themen 4
P jar <-> Library Allgemeine Java-Themen 2
nrg Externe Library Lizenzen Allgemeine Java-Themen 14
D plattformabhängige library ausblenden Allgemeine Java-Themen 4
S 3D Grafik Library? Allgemeine Java-Themen 5
Lufti Unterschied zwischen Djava.library.path und Class-Path im Manifest? Allgemeine Java-Themen 2
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
P SUCHE: gute Geo Library (freeware) Allgemeine Java-Themen 2
P Suche performante PDF Library Allgemeine Java-Themen 20
S suche library die diagramme darstellen kann Allgemeine Java-Themen 2
G RXTX library braucht sehr lange zum laden. Ist das normal? Allgemeine Java-Themen 8
A Strings joinen, Standard-Library? Allgemeine Java-Themen 9
F Java Library für Videobearbeitung, edit, cut, encode. Allgemeine Java-Themen 6
P MP3-Player Library: MP3 abspielen und ID-Tags auslesen Allgemeine Java-Themen 12
D PDF library Allgemeine Java-Themen 6
J ICQ Library Allgemeine Java-Themen 6
C Speicherlecks in externer Library Allgemeine Java-Themen 2
A java.library.path festlegen. Allgemeine Java-Themen 5
G C++ Library in Java einbinden Allgemeine Java-Themen 4
C ICQ Library Allgemeine Java-Themen 3
M JNI, static.a mit load.Library laden? Allgemeine Java-Themen 2
T Disk Image Library (iso,mdf,nrg,bin) Allgemeine Java-Themen 6
cowabunga1984 Library um TIF in PDF zu konvertieren Allgemeine Java-Themen 2
foobar java.library.path Property setzen Allgemeine Java-Themen 5
F POI Library - Graphic in Excel inserten möglich? Allgemeine Java-Themen 2
U Einbinden libphonenumber Allgemeine Java-Themen 3
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
E Zahlungsmöglichkeiten im Web-App einbinden Allgemeine Java-Themen 4
T StdCall DLL in Java einbinden Allgemeine Java-Themen 13
N HashMap und Methoden richtig einbinden Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
S Eclipse TestNG: Textfeld einbinden? Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben