Exportieren in Runnable jar mit zusätzlichen nativen Code-Bibliotheken in Eclipse

8

Ich habe Probleme beim Export meines Java-Projekts von Eclipse als ausführbare JAR-Datei. Mein Java-Projekt verwendet eine externe Bibliothek (es heißt jri). Ich habe die jri.jar-Datei exportiert und den Bibliothekspfad für ihre native Bibliothek in Eclipse festgelegt, und sie funktioniert hervorragend in der Entwicklung von Eclipse. Wenn ich es jedoch als eine ausführbare JAR-Datei exportiere, erhalte ich den folgenden Fehler:

%Vor%

Ich habe einen Ordner mit dem Namen lib im selben Verzeichnis wie das jar meines Projekts abgelegt. Dieser lib-Ordner enthält die native Bibliothek von jri. Die native Bibliothek von jri befindet sich nicht in einer Datei, sondern in einem Ordner. Dies ist das gleiche Setup, das ich in Eclipse habe.

Wie ich mein Projekt in Eclipse exportiere, ist

%Vor%

Und mein Ordner ist so organisiert

%Vor%

Die MANIFEST.MF von meiner project.jar ist:

%Vor%

Was ich erreichen möchte, ist, einer anderen Person einen Ordner mit project.jar und allem anderen zu geben, damit sie / er es ausführen kann, ohne etwas anderes installieren zu müssen. Vielen Dank

    
Julio Diaz 11.01.2012, 00:16
quelle

4 Antworten

8

Fügen Sie ein Skript hinzu, das so etwas enthält:

%Vor%

Ich exportiere einige Java-Projekte auf diese Art.

    
Ortwin Angermeier 17.01.2012, 18:58
quelle
3

Dies ist relativ schwer zu implementieren. Bei den Lösungen, die ich gesehen habe, müssen die nativen Bibliotheken in der JAR in ein temporäres Betriebssystemverzeichnis extrahiert und dann geladen werden. Ich würde dafür eine integrierte Lösung wählen. Ein Jar und Java Class Loader < Unterstützen Sie es, und auf der zweiten Seite finden Sie Links zu ähnlichen Tools.

    
CptHindsight 16.01.2012 16:34
quelle
1

Sie können die Bibliotheken in in Ihr jar einfügen:

  

Exportieren ...

     

Java & gt; Durchführbare JAR-Datei

     

Paketieren Sie erforderliche Bibliotheken in das erzeugte Jar

     

Fertigstellen

Ich exportiere immer so. Ich weiß nicht, ob es in Ihrem Fall funktioniert, aber einen Versuch wert.

Bearbeiten:

Siehe diese Links:

Meine Vermutung ist, dass dies etwas damit zu tun hat, dass LD_LIBRARY_PATH nicht korrekt gesetzt wurde. Oder die Datei, nach der gesucht wird, ist nicht im Pfad aufgeführt.

    
falsarella 13.01.2012 16:11
quelle
0

Sie wissen, dass ich ähnliche Probleme hatte

%Vor%

alles oben vorgeschlagene kann mir nicht helfen. Ich konnte nicht aufhören und Gradle Deamon mit dem Befehl follow starten:

%Vor%

Ich sah, dass Gradle Deamon in meinen Prozessen noch nicht aufgehört hatte. Deshalb töte ich es in meinem Prozess und alles wird gut:)

    
Dmytro Melnychuk 08.09.2016 12:39
quelle

Tags und Links