java alles in ein Paket rein (rxtxcomm inklusive)

Gast #2409785
Moin, bisher verwende ich fatjar als eclipse-plugin um ein lauffähiges 
jar file zu erzeugen. Leider müssen die Benutzer auf den Ziel-PCs 
(WinXP) immer die Komponenten von rxtxcomm in die entsprechenden 
Verzeichnisse unter C:\Programme\java kopieren. Man müsste doch ein 
jar-file erzeugen können, in denen die Dateien enthalten sind?

Gruß Cheffe
Gast #2409931
Moin, Du irrst.  

entpacken Sie das Archiv rxtx-*-win32.zip,
 kopieren Sie die Datei rxtxSerial.dll in das Verzeichnis 
%JAVA_HOME%\bin,
(%JAVA_HOME% ist das Verzeichnis, in dem Ihr JRE installiert ist, z.B. 
c:\Programme\Java\j2re1.4.1_01)
 kopieren Sie die Datei RXTXcomm.jar in das Verzeichnis 
%JAVA_HOME%\lib\ext

So funktioniert es auf allen XP-PCs. Allerdings ist das für viele User 
"zu hoch".


Gruß
Cheffe
Persönliche Seite #2409947
Cheffe schrieb:
> So funktioniert es auf allen XP-PCs.

Es funktioniert aber genauso wenn man die DLL mit ins 
Programmverzeichnis packt und die passende JAR ins den Classpath 
aufnimmt (oder in das "eigene" JAR integriert).

Die Anleitung ist dafür gedacht einmal global die Lib Systemweit zu 
installieren, ist aber für die Verwendung nicht zwingend man kann diese 
auch einfach mit seinem Programm mitliefern.

Deshalb wäre es ganz praktisch wenn du erklären würdest was du im Moment 
machst und was dabei nicht funktioniert.
Gast #2410511
Moin, also ich habe inter D:\workspace\Logger\lib die Dateien

RXTZXcomm.jar

und

rxtxSerial.dll

liegen. Und die sollen mir rein ins jar-File.


Auf dem ziel Rechner erhalte ich folgende Fehlermeldung: 
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path 
thrown
  while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial 
in java.library.path


Gruß
Cheffe
Persönliche Seite #2410581
Cheffe schrieb:
> rxtxSerial.dll

die muß in das Verzeichnis aus welchem du das Programm startest, die 
kann nicht ohne weiteres in dem JAR AUsgeliefert werden also z.B.:
1
meinprogram/meinprogram.jar
2
meinprogram/rxtxSerial.dll
3
meinprogram/start.bat
Alternativ kann man sich auch einen DLL Loader bauen, welcher die DLL 
beim starten in eine Temporäre Datei (File.createTempFile()) extrahiert 
und dann manuell laden mit über die Runtime:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Runtime.html#load(java.lang.String)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.