libaries in jar integrieren

Status
Nicht offen für weitere Antworten.

dotlens

Top Contributor
hallo

hab veruscht in meinem jar file die Libary direkt reinzutun, jedoch haben alle versuche fehlgeschlagen. 🙁

hab auch schon im forum gesucht, jedoch nur gefunden, wie ich dateien aus jar files auslesen kann als input stream.

mein problem ist, dass ich im classpath angeben muss wo sich die libaries befinden, wenn ich aber lib/*.jar schreibe nimmt er das verzeichnis lib im jar ordner.
meineJar\lib\*.jar hat uch nicht funktioniert...

kann mir jemand sagen wie das geht??

danke und gruss
 
Du mußt im Manifest deines Jars, mithilfe des Attributs Class-Path die Library angeben:
Code:
Class-Path: MyLib.jar
 
wenn ich das so einbinde findet er das nicht. die lib liegt ja auch nicht im selben verzeichnis wie die jar sonder im jar selber....
 
also ich kann jars erstellen und ich kann libarys einbinden. das ist nicht das problem.
ich möchte libary einbinden, die in dem jar liegen, welches ich ausführe.... damit ich nur dieses eine jar habe und das dorthin kopieren kann wo ich möchte....
und ich weiss auch was relative pfade sind!

Class-Path: lib/MyLib.jar
dadurch suchte er einen ordner lib, im selben verzeichnis wie das jar das ich ausführe, und nicht in meinem jar....
auch wenn ich nur
Class-Path: MyLib.jar schreibe suchte er diese nich in meinem jar das ich ausführe sondern in dem ordner in dem das jar liegt....

hoffe das war jetzt mal verständlich sonst krieg ich noch ne kriese 😀
 
reden wir schon vom gleichen?

nicht jede Anwendung oder "Umgebung" unterstützt den Class-Path Eintrag im Manifest

java -jar

sollte es z.B. machen, irgendwas stimmt also nicht. Kannst du mal ein paar Infos zum Kontext machen? Welche Ordnerstruktur hat dein jar?
 
also meine ordner struktur:

mein auszuführendes jar:
...\dataSheet\DataSheet.jar

meine lib:
...\dataSheet\DataSheet.jar\lib\MyLib.jar

mein manifest:
"Manifest-Version: 1.0
Class-Path: looks.jar
Sealed: true
Main-Class: com.abb.ch.ut.cadesg.dataSheet.DataSheetRun

"

starten tu ichs mit doppelklick(Windows), kanns auch über die Konsole machen wenn du denkst, das mache einen Unterschied.

Danke für die Mühe
 
hä? ha?

liegt lib/Mylib.jar jetzt innerhalb des Jars (als Ordner der mitgezippt wurde - ist dir klar was ich meine-) oder nicht?

oder flach daneben im Dateisystem [dann hilft der Class-Path gar nichts]

ist innerhalb des jars (im Wurzelordner des jars) wirklich eine looks.jar Datei?

und was ist eigentlich genau das Problem?

Wenn du dein main richtig drin hast, dann werden bei deiner vorgehensweise mit

java -jar DataSheet.jar

die Klassen gefunden, die in looks.jar sind. und weiter?
 
ich probiers mal anders:

so klappts wunderbar:
mein auszuführendes jar:
...\dataSheet\DataSheet.jar

meine lib:
...\dataSheet\lib\MyLib.jar

möchte aber nicht einen separaten ornder lib haben, ist es nich möglich, diesen in DataSheet.jar (auszuführende Datei) zu integrieren?
sonst muss an dem ort an dem mein auszuführendes jar liegt auch immer der Ordner lib liegen...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben