RXTX native library unter Linux in jar build angeben

G

Gast2

Gast
Hi Leute,

bin gerade dabei meine Software auch unter Linux zum laufen zu bringen. Naj aim Prinzip läufts komplett bis auf den build.

In der IDE (Eclipse) habe ich natürlich die native libary für RXTX im classpath des projekts angegeben. Funktioniert prima. Wenn cih aber nun das ganze über mein ant skript builde findet er die *.so nicht. Hatte angenommen, dass es wie bei Windows reicht diese neben die executable jar zu legen (Unter windows natürlich die dll).

Die .so soll in jedem Fall nicht irgendwohin kopiert werden, sondern lokal bei den anderen files der Software liegen!

Ich finde einfach nicht, wie ich im manifest der executable jar angeben kannm, dass sich die *so neben der jar liegt.

Der Fehler ist natürlich, dass die native library nicht in java.library.path gefunden werden kann. Klar da ist sie ja auch nicht und soll sie nicht hin.

Ich hoffe jemand kann mir helfen ...
 
G

Gast2

Gast
Scheint so zu sein, dass man java.library.path tatsächlich nur über die commandline setzen kann. Habe keine Möglichkeit gefunden das übers manifest im jar mitzugeben.

Schade.
 
S

Spacerat

Gast
Dein Weg führt dich knallhart durch den Dschungel Reflection...
Java:
import java.io.File;
import java.lang.reflect.Field;
import java.security.AccessController;
import java.security.PrivilegedAction;

public final class Distributable
{
	public static void main(String[] args)
	{
		try {
			System.loadLibrary("libjssc");
			System.out.println("libjssc found in java.library.path");
		} catch(Throwable e) {
			System.out.println("libjssc not found in java.library.path");
		}
		AccessController.doPrivileged(new PrivilegedAction<Void>()
		{
			public Void run()
			{
				try {
					String lib = ("32".equalsIgnoreCase(System.getProperty("sun.arch.data.model", "32")))? "i386" : "amd64";
					Field usrPathsField = ClassLoader.class.getDeclaredField("usr_paths");
					usrPathsField.setAccessible(true);
					String[] user_paths = (String[]) usrPathsField.get(null);
					String[] new_user_paths = new String[user_paths.length + 2];
					System.arraycopy(user_paths, 0, new_user_paths, 0, user_paths.length);
					new_user_paths[user_paths.length    ] = new File("lib").getAbsoluteFile().toString() + File.separator;
					new_user_paths[user_paths.length + 1] = new_user_paths[user_paths.length] + lib + File.separator;
					for(int n = 0; n < new_user_paths.length; n++) {
						System.out.println(new_user_paths[n]);
					}
					usrPathsField.set(null, new_user_paths);
					usrPathsField.setAccessible(false);
					System.out.println("System ok");
				} catch(Throwable e) {
					System.out.println("System ****ed");
				}
				return null;
			}
		});
		try {
			System.loadLibrary("libjssc");
			System.out.println("libjssc found in java.library.path");
		} catch(Throwable e) {
			System.out.println("libjssc not found in java.library.path");
			e.printStackTrace();
		}
	}
}
Dieses hatte ich mal zum experimentieren geschrieben... das Ganze sollte irgendwann auch mal bei unsignierten Applets funktionieren, aber soweit ging es dann doch nicht. Die PrivilegedAction kann also glaub' ich wieder entfernt werden. Des Build mit Ant dürfte aber weiterhin fehlschlagen, da der Pfad erst zur Laufzeit geändert wird.
 
G

Gast2

Gast
Meine Güte, ist das so exotisch eine native library zu benötigen?

Schreibe dann lieber ein kleines Startskript, welches per command line den java.library.path setzt ...
 
G

Gast2

Gast
Schreibt ein Skript start.sh mit folgendem Inhalt im gleichen Verzeichnis wie die jar und packt die *.so files ins lib Verzeichnis:

Code:
java -Djava.library.path='./lib' -jar LoopMaster.jar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M RXTX Details auslesen Allgemeine Java-Themen 6
F rxtx library mit virtuellem Comport Allgemeine Java-Themen 2
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
H RXTX String verarbeiten Allgemeine Java-Themen 1
S RxTx - langsame Port suche Allgemeine Java-Themen 3
L Software-Design: Kommunikation mit SerialPort (RXTX) Allgemeine Java-Themen 2
R Virtuelle Serielle Schnittstellen mit RXTX Allgemeine Java-Themen 2
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
M problem mit rxtx Allgemeine Java-Themen 9
G RXTX in proprietärer Software nutzen?! Allgemeine Java-Themen 10
S RXTX library in Jar einbinden Allgemeine Java-Themen 5
T [RXTX] GPS-Maus (Comport) effizient auslesen Allgemeine Java-Themen 6
T RXTX und 64bit Allgemeine Java-Themen 1
R RXTX Versions Info abschalten Allgemeine Java-Themen 6
T Frage zu Schönheitsfehler bei RXTX Allgemeine Java-Themen 2
C RXTX Treiber einbinden für Linux Allgemeine Java-Themen 6
G RXTX library braucht sehr lange zum laden. Ist das normal? Allgemeine Java-Themen 8
B RXTX sendet immer mit 9600Baud Allgemeine Java-Themen 4
E Erfahrung mit RXTX sowie Windows und Linux Allgemeine Java-Themen 9
G RXTX verschicken einzelener Bytes Allgemeine Java-Themen 8
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
O RXTX Geschwindigkeit? Codebeispiel dabei. Allgemeine Java-Themen 21
B RXTX und close Allgemeine Java-Themen 12
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
M Geschwindigkeit RXTX JAVA Allgemeine Java-Themen 3
foobar Rxtx vs javax.comm Allgemeine Java-Themen 2
RalleYTN Classpath Native Dateien(DLL, SO, JNILIB) Allgemeine Java-Themen 2
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
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
T Native Library ausliefern Allgemeine Java-Themen 12
J Native Library einbinden Allgemeine Java-Themen 17
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
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
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

Ähnliche Java Themen

Neue Themen


Oben