externe Libraries in jar-file

Status
Nicht offen für weitere Antworten.

rob3000

Mitglied
Hallo,

leider ist jetzt noch ein Problem aufgetreten. Ich verwende in meiner Applikation externe Libaries von jlgui-javazoom. Ich habe daher von der Applikation ein jar-file erstellt von eclipse heraus. Danach habe ich zum testen, die Classpath Variable in den Umgebungsvariablen in Windows gesetzt.

Also folgende Variablen:

Name: JLGUI_HOME
Wert C:\Programme\Java\jlGui2.3.2

Name: JLGUI_LIB
Wert: %JLGUI_HOME%\lib

Name: JLGUICLASSPATH
Wert: %JLGUI_LIB%\basicplayer2.3.jar;%JLGUI_LIB%\commons-logging-api.jar;%JLGUI_LIB%\jl1.0.jar;
%JLGUI_LIB%\jogg-0.0.7.jar;%JLGUI_LIB%\jorbis-0.0.13.jar;%JLGUI_LIB%\jspeex0.9.3.jar;
%JLGUI_LIB%\mp3spi1.9.2.jar;%JLGUI_LIB%\tritonus_share.jar;%JLGUI_LIB%\vorbisspi1.0.1.jar

Danach starte ich die Applikation mit folgendem Befehl in der Kommandozeile:

java -cp .;%JLGUICLASSPATH% -jar TestApplikation.jar

Jedoch bekomme ich immer eine java.lang.NoClassDefFoundError: javazoom/jlgui/basicplayer/BasicPlayerListener.

Hat irgendjemand eine Ahnung oder sieht jemand was hier noch falsch läuft? - sitz da jetzt schon den ganzen Abend davor, sehe aber nicht, was ich noch falsch gemacht haben könnte.

mfg
 

rob3000

Mitglied
Hallo,

ich habe es auch mit der Angabe des Classpaths im Manifest File versucht und zwar so. Ich habe die externen jar-files in das projekt root verzeichnis gegeben. Mein MANIFEST File sieht dann folgendermaßen aus:

Manifest-Version: 1.0
Class-Path: basicplayer2.3.jar commons-logging-api.jar jl1.0.jar jogg-0.0.7.jar jorbis-0.0.13.jar jspeex0.9.3.jar mp3spi1.9.2.jar tritonus_share.jar vorbisspi1.0.1.jar
Main-Class: com.view.TestApplikation

Aber das funktioniert leider nicht. Immer noch die java.lang.NoClassDefFoundError.... ???:L
 
G

Guest

Gast
Keine Zeile in Manifest darf länger als 72 bytes sein (siehe: Notes on Manifest and Signature Files - line-length). Warum auch immer. :autsch:
Versuche das hier
Code:
Class-Path: basicplayer2.3.jar commons-logging-api.jar jl1.0.jar
  jogg-0.0.7.jar jorbis-0.0.13.jar jspeex0.9.3.jar mp3spi1.9.2.jar
  tritonus_share.jar vorbisspi1.0.1.jar
Achte darauf, dass die Folgezeilen mit einem Leerzeichen anfangen.
 

thE_29

Top Contributor
Warum packst du nicht alle Jar Files in 1?

1. kann das Eclipse net oder warum tut das nie wer?

2. schau in den FAQs da habe ich beschrieben wie es in der konsole geht!
 
G

Guest

Gast
thE_29 hat gesagt.:
Warum packst du nicht alle Jar Files in 1?

1. kann das Eclipse net oder warum tut das nie wer?
Weil es in vielen Fällen gar nicht zulässig ist.

3. Warum liesst keiner die Lizenzbestimmungen fremder Bibliotheken? :wink:
 

rob3000

Mitglied
Also ich habe jetzt sowohl, das MANIFEST.MF versucht anzupassen (in meinem jar-Archiv liegen die jar-Files im root-Verzeichnis, daher:

Code:
Manifest-Version: 1.0
Class-Path: ../basicplayer2.3.jar ../commons-logging-api.jar ../jl1.0.jar 
 ../jogg-0.0.7.jar ../jorbis-0.0.13.jar ../jspeex0.9.3.jar ../mp3spi1.9.2.jar 
 ../tritonus_share.jar ../vorbisspi1.0.1.jar
Main-Class: com.view.TestApplikation
Ich habe auch die Leerzeile nach Main-Class gemacht und auch geschaut, dass kein Leerzeichen nach der Main-Klasse ist. Trotzdem kommt die java.lang.NoClassDefFoundError.


Danach habe ich auch versucht, die Klassen direkt reinzukopieren, mit den Befehlen aus der FAQ:

Code:
jar -ufvm TestApplikation.jar MANIFEST.MF -C javazoom/ /

Den Befehl habe ich unter C: ausgeführt, da meine TestApplikation.jar, das MANIFEST.MF und das javazoom Verzeichnis in C: liegen. Jedoch kommt da immer ein Syntax-FEhler und Beispiele wie man es richtig machen soll, diese Beispiele unterscheiden sich aber nicht von meinem Befehl....? :bahnhof:

Hat vielleicht noch irgendjemand einen anderen Tipp? :?

mfg
 

thE_29

Top Contributor
Was für ein Fehler kommt da??

prob mal einen / weglassen

javazoom /

zB @Gast: Wo gibts ne Bibliothek die das zB net erlaubt und wo wäre das zu finden?
 

AlArenal

Top Contributor
Anonymous hat gesagt.:
thE_29 hat gesagt.:
Warum packst du nicht alle Jar Files in 1?

1. kann das Eclipse net oder warum tut das nie wer?
Weil es in vielen Fällen gar nicht zulässig ist.

3. Warum liesst keiner die Lizenzbestimmungen fremder Bibliotheken? :wink:

Wenn diese beiden Aussagen in Zusammenhang stehen sollen, verstehe ich sie nicht. Ich setze nen ganzen Wust von Open Source und kommerziellen Libs parallel für unsere Produkte ein und auch wenn ich nicht alles in ein JAR packe ist mir keine gängige Lizenz bekannt, die ein solches Handeln untersagen würde.
 

rob3000

Mitglied
Hi,

okay jetzt funktionierts - habe den Ordner mit den externen Klassen von der jar meinem jar-file hinzugefügt.

Habe jetzt folgende Struktur in meinem jar:

javazoom/jlgui/player/

META-INF

com/view/


Jedoch wird noch immer wenn ich die Anwendung ausführe folgender Fehler geworfen:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javazoom/jlgui/basicplayer/BasicPlayerListener.

Das kanns ja jetzt gar nicht mehr geben oder? - ich bin jetzt wirklich schon ratlos.:(
 

thE_29

Top Contributor
Mhmmm

Dir fehlt ja noch was!

Du hast javazoom/jlgui/player/

brauchst aber noch

javazoom/jlgui/basicplayer/

dir fehlt ein jar file!
 

rob3000

Mitglied
Nein sorry, da hatte ich mich nur vertan, sollte basicplayer heißen. Das problem ist dass dieser Befehl doch nicht funktioniert:

jar -ufvm TestApplikation.jar MANIFEST.MF -C javazoom//

Wenn ich diesen Befehl ausführe, wird zwar kein Fehler angezeigt, aber nur die Syntax entsprechend beschrieben:
Syntax: jar {ctxu}[vfm0Mi][JAR-Datei][Manifest-Datei][-C dir] Dateien
Optionen:....

Aber wenn ich dann in mein TestApplikation.jar schaue, ist dort kein javazoom ordner vorhanden...? - funtioniert dieser Befehl nicht?
 

rob3000

Mitglied
Nein sorry, das sollte doch basicplayer heißen, da habe ich mich verschrieben. Leider funktioniert das packen der Klassen in das jar-file nun doch nicht. Wenn ich den Befehl verwende:

jar -ufvm TestApplikation.jar MANIFEST.MF -C javazoom//

Dann kommt zwar kein Fehler aber die Syntax wird erklärt mit allen Optionen und zwei Beispielen. Heißt das, dass der Befehl funktioniert hat? - denn in meinem jar-Archiv finde ich dann keinen javazoom Ordner. Bist du dir sicher, dass dieser Befehl funktioniert? :bahnhof:
 

thE_29

Top Contributor
ar -ufvm TestApplikation.jar MANIFEST.MF -C javazoom/[SPACE]/

Da gehört ein Leerzeichen ^^

Und der / gleich hinter javazoom bedeutet nimm das Verzeichnis komplett (also auch javazoom) und wenn du keinen hast, dann erst das Verzeichnis was in javazoom ist!
 
G

Guest

Gast
Das -C sollte auch klein geschrieben werden, zumindest bei mir hat das nur mit kleinen c funktioniert. Wäre aber zu schön um wahr zu sein, wenn es dann funktioniert hätte, ich habe jetzt in meinem jar-file alle externen bibliotheken von javazoom drinnen auch das jar-file, dass für die mp3 Unterstützung notwendig ist, jedoch wenn ich die Anwendung startet, bekomme ich eine UnsupportedException, wenn ich mp3 verwende, wenn ich wav verwende dann funktionierts. Leider brauche ich mp3 Unterstützung. Die Klassen für die mp3 Unterstützung habe ich sicher in meinem jar-file. habe es extrahiert und nachgesehen. Kann es da noch irgendeine andere Möglichkeit geben, warum er diese KLassen für die mp3 Unterstützung nicht findet...?? ???:L
 

thE_29

Top Contributor
Nein, also wenn sie wirklich drinnen sind, sollte es funktionieren!

Außer der hat ne Abfrage drinnen aufs Manifest oder dgl und sagt wenn net origianel jar datei, dann lade nicht ^^ (oder wirf ne unsupported..)

Aber das kann ich mir irgendwie net vorstellen!

schick mir mal alles und ich probiers

behaveu<at>gmail.com
 

rob3000

Mitglied
Ich habe es jetzt endlich geschafft, habe es jetzt doch mit der Angabe im Manifest.MF geschafft, ich hatte nicht gewußt, dass der Pfad immer relativ zum erstellten jar-file ist. :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Java gewerblich nutzen mit externe Bibliothek. Was zu beachten? Allgemeine Java-Themen 18
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
X Threads Externe Variablen in Run Methoden verändern Allgemeine Java-Themen 4
V JTable Externe Lib Allgemeine Java-Themen 2
JavaWolf165 Externe .jar-Dateien in .jar-Datei intigrieren Allgemeine Java-Themen 0
Neumi5694 Externe Skripte Allgemeine Java-Themen 9
L JavaFX JavafX externe FXML laden? Allgemeine Java-Themen 4
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
Thallius Externe .jar dynamisch einbinden Allgemeine Java-Themen 5
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
M Externe Jar sehr langsam Allgemeine Java-Themen 23
C Prozesssteuerung - Speicherhungrige externe Programme werden blockiert Allgemeine Java-Themen 2
F externe module. geht das in Java? Allgemeine Java-Themen 3
G Eclipse Wie mit Ant build.xml externe Jar´s einbinden? Allgemeine Java-Themen 5
M Wie externe System-Ressourcen zwangsweise freigeben Allgemeine Java-Themen 2
B Externe Programme und ProcessBuilder Allgemeine Java-Themen 5
nrg Externe Library Lizenzen Allgemeine Java-Themen 14
D externe programme / Jdesktoppane, ... Allgemeine Java-Themen 6
U Externe Logiken möglich? Allgemeine Java-Themen 8
G externe Properties datei aus Jar File heraus lesen Allgemeine Java-Themen 12
G externe Steuerung von Sprachsoftware Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
B Eclipse externe Dateien mit einbinden Allgemeine Java-Themen 10
H externe JARs in eigenem Programm-Jar einbinden. Allgemeine Java-Themen 5
N externe Anwendung aktivieren (nicht starten!) Allgemeine Java-Themen 3
H Externe Prozesse und Inputstreams - ausgabe in JTextArea Allgemeine Java-Themen 3
oliver1974 Zugriff auf externe .class Dateien (und resourcen) aus JAR Allgemeine Java-Themen 11
G externe package Allgemeine Java-Themen 7
E externe Anwendung aufrufen und sich selbst beenden Allgemeine Java-Themen 8
W Java und externe Anwendungen Allgemeine Java-Themen 3
J Externe File Emails für JavaMail Allgemeine Java-Themen 4
J Externe .jar bibis in programm .jar einbinden? Allgemeine Java-Themen 9
R Kontrolle über Externe Prozess Allgemeine Java-Themen 5
O Externe Jars in eigene JAr packen in Eclipse Allgemeine Java-Themen 5
M Standardpfad für externe Dateien? Allgemeine Java-Themen 2
R aus Jar auf externe XML-Datei zugreifen Allgemeine Java-Themen 14
I externe Namensliste auslesen Allgemeine Java-Themen 13
M Java2exe Externe Packages einbinden! .JAR und sowas Allgemeine Java-Themen 7
thE_29 Externe (unbekannte) Klasse nutzen Allgemeine Java-Themen 11
J Externe Ansteuerung (Motor,Licht) mit Java? Allgemeine Java-Themen 4
IngoF Libraries in Java 11 Allgemeine Java-Themen 2
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
C JNI loadLibary "Can't find dependent libraries" Allgemeine Java-Themen 2
D Suche Matrix Libraries Allgemeine Java-Themen 11
S lp_solve mit Java nutzen - Can't find dependent libraries Allgemeine Java-Themen 8
W Jar mit Zusatz-Libraries Allgemeine Java-Themen 5
B Image libraries Allgemeine Java-Themen 3
P 3rd party JTable libraries (freeware/opensource) Allgemeine Java-Themen 19
V JNI Can't find dependent libraries Allgemeine Java-Themen 4
73x JAR file mit zusätzlicen Libraries zum Laufen bringen Allgemeine Java-Themen 6
G Java libraries gesucht Allgemeine Java-Themen 5
H "File too large" - genauere IOException-Behandlung Allgemeine Java-Themen 5
H Sicherer File Tresor Allgemeine Java-Themen 13
W Jar-File Start nur über Terminal Allgemeine Java-Themen 13
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
D Read JSON File Problem Allgemeine Java-Themen 9
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C jar File mehrfach aufrufen (als Windows Dienst) Allgemeine Java-Themen 5
N File Path mit Variablen angeben Allgemeine Java-Themen 1
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
S Class File Editor -> Source not found Allgemeine Java-Themen 4
F jar File ausführen Allgemeine Java-Themen 14
M File Binary Representation Allgemeine Java-Themen 1
N jar File auf Mac mit Doppelklick starten Allgemeine Java-Themen 5
O Input/Output java.io.File beenden Allgemeine Java-Themen 5
G File not found - nach dem Kompilieren Allgemeine Java-Themen 6
T Jar File zu exe... Allgemeine Java-Themen 3
M Foreign Memory API / Memory-Mapped File Allgemeine Java-Themen 0
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
S File lesen und schreiben Java 6 Allgemeine Java-Themen 2
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
F Input/Output FileNotFoundException, obwohl File existiert Allgemeine Java-Themen 5
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6
L JAR-File auf Ilias (LMS) laufen lassen Allgemeine Java-Themen 0
ralfb1105 Classpath Directory fuer Properties File Allgemeine Java-Themen 2
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
A File lesen Codierung Charset Allgemeine Java-Themen 5
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
M Key-File im selben Ordner speichern? Allgemeine Java-Themen 18
I TrueZip add file to archive Allgemeine Java-Themen 10
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
J ftp - delete file ohne appache Allgemeine Java-Themen 8
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
T ImageIO.read -> Can`t read input file Allgemeine Java-Themen 11
C Swing File[] als klickbare links in irgendeinem Swing Element Allgemeine Java-Themen 3
H Kennt sich jemand mit Eclipse und dem Thema Jar-File aus ? Allgemeine Java-Themen 6
H Laden einer (Resourcendatei) aus einem Jar-File Allgemeine Java-Themen 17
C Authentifizierung mit java.nio.file? Allgemeine Java-Themen 5
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
G Java/LibGDX File Loading Exception Allgemeine Java-Themen 2
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D Java Anwendung mit dll File Allgemeine Java-Themen 5
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
thet1983 Input/Output read properties file from classpath Allgemeine Java-Themen 3
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1

Ähnliche Java Themen


Oben