eingebundene *.jar- Files

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,

ich hätte eine Frage zu den eingebundenen *.jar- Files und zwar habe ich bei meinem Projekt einige externe *.jar- files einbinden müssen (jcomm.jar, jbatik.jar, jdom.jar) in C:\Programme\Java\jdk1.6.0\jre\lib\ext.

Wenn ich jetzt das Projekt/Programm weitergebe, dann müssen diese von mir verwendeten *.jar- Dateien auf einem anderen Rechner wieder eingebunden werden.

Mein eFrage wäre jetzt, wie das üblciherweise gemacht wird, kann man die *.jar. Dateien mit dem Projekt irgendwie mitgeben, sodass das Programm sofort auf einem anderen Rechner lauffähig ist?


lg
 

thE_29

Top Contributor
Du kannst sie alle in eins zusammenpacken!

Geht mit einer guten IDE oder in den FAQ ist auch beschrieben wie es geht!
 

thE_29

Top Contributor
Oder auch dieser Weg!

Da musst du dein Jar Archiv updaten mit -umf datei.jar MANIFEST.MF und in der MANIFEST.MF gibst halt die anderen Jar Files im Classpath an!

Achtung! Wenn du es testen willst, das geht nicht java -cp datei.jar -jar main.jar

Bei -jar wird der -cp Eintrag ignoriert!!
 

PollerJava

Top Contributor
Ich verwende NetBeans, weiß vielleicht jemad wie das dann geht,

Ich hab da auch noch ein Verständnissproblem:
ich habe mir die benötigten *.jar- Files runtergeladne und in den Pfad C:\Programme\Java\jdk1.6.0\jre\lib\ext gegeben.

Wenn ich jetzt meinen Projekt- Ordner weitergebe, dann sind ja die von mir downgeloadeten *.jar files dort nicht vorhanden.
Ich müsste also die benötigten *.jar- Files irgendwie in meinen Projekt- Ordner transferieren,

sehe ich das richtig oder liege ich da falsch?


lg und danke für die Antworten
 

thE_29

Top Contributor
Naja, java lädt Standardmäßig die Dateien aus dem ext Verzeichnis!

Dh, du hast 4 Optionen
1. du legst sie auch beim Kunden in das ext Verzeichnis
2. du machst alle Dateien in ein Jar Archiv
3. du passt die Manifest.MF an und machst CP Einträge
4. du machst ne Bat Datei, wo du die cp Einträge hast (aber ohne -jar Präfix)
 
G

Gast

Gast
Ich würde einfach ne Fat_Jar erstellen das nimmt die Jars dann mit in dein Hauptjar.
 

PollerJava

Top Contributor
2. du machst alle Dateien in ein Jar Archiv
Das scheint mir die beste/eleganteste Möglichkeit aber leider noch nie gemacht,
Wie kann ich das machen (vielleicht mit NetBeans)??

Dankeschön


PS: was heißt eigentlich cp
 

loadbrain

Bekanntes Mitglied
Mit NetBeans:
Erstelle im src Verzeichnis ein Ordner z.b. jars und füge die Dateien da ein.
In NetBeans gehst du dann im Projekt-Explorer auf dein Projekt, rechte Maustaste , Properties, Libraries, unter Compile dann Add Jar/Folder.
Die Dateien packts Dir dann alle beim bauen mit ein.
 

PollerJava

Top Contributor
Vielen Dank,

ich habs jetzt so gemacht und es funktioniert auch, wenn ich auf einem anderen Computer die *.jar wieder einbinde mit Add jar.

aber über die Konsole lässt sich das Projekt nicht starten (javac Myprojekt.java), da findet der Compiler eben die *.jar files nicht.
Muss ich irgendwas setzen mit einem Schalter oder wie geht das über die Konsole bzw. wenn ich eine *.bat- datei machen will, was muss ich da reinschreiben?


Und noch eine Frage hätte ich zum compilieren: wenn ich mehrere Packages habe, wie compiliere ich da alle *.java- files in allen Packages?


Vielen Dank für Eure Antworten

lg
 

thE_29

Top Contributor
Wie startest du bitte das Programm in der Konsole?

Mit javac? Weißt du überhaupt was du tust?

javac == kompilieren
starten == java (ohne .java hinten)
jar starten == java -jar datei.jar
 

PollerJava

Top Contributor
jaja ich hab mich verschrieben:
natürlich starte ich mein programm mit java myProjekt.

das weiß ich schon aber ich meinte, dass ich eben beim Kompilieren mit javac Fehlermeldungen bekomme, dass der Kompiler die *.jar- Dateien nicht findet


Meine Schwierigkeit ist eben, dass ich meinen ProjektOrdner weitergeben will und dann nicht lange erklären will was zu setzen ist oder wie es zu starten ist sondern einfach Kompilieren mit javac und interpretieren mit java
 

thE_29

Top Contributor
Nein!

Du schreibst javac -classpath datei1.jar;datei2.jar;datei3.jar main.java

Hinter dem letzten kein ;!!

Unter Linux gehört statt einem ; ein :!
 

PollerJava

Top Contributor
Vielen Dank,

ich hab aber mit der Aufteilung in Packages noch so meine Probleme,

ich gebe in der Konsole einfach in das Package wo meine main- Methode drinnen ist und kompiliere die *.java- Datei mit der main- Methode,
leider kann der Kompiler dann die Klassen in anderen Packages nicht finden,

wie kannich da machen, damit er auch die anderen Packages findet und kompiliert?

lg
 

thE_29

Top Contributor
Du darfst nicht reingehen!

Du musst es mit javac -cp ... dein.package.main sagen!

Darfst aber nicht im Ordner /dein/package/ stehen sondern dort wo /dein Ordner auch liegt!

Zb wenn die Java Datei hier C:\java\projekt1\dein\package\Main.java wäre
Dann müsstest du im C:\java\projekt1 Verzeichnis stehen!
 

loadbrain

Bekanntes Mitglied
Also, wenn du das mit NetBeans so gemacht hast wie ich gesagt habe, dann kannst du aus Deinem dist ordner die datei.jar direkt per doppelklick starten.
auf der console einfach in das verzeichnis wechseln und wie schon thE_29 geschrieben hat mit
java -jar datei.jar
starten.
 

PollerJava

Top Contributor
ich wollte jetzt eben im Ordner dist meine myProjekt.jar starten, bekomme aber eine Fehlermeldung und zwar habe ich eine XML- Datei die ich einlese und die im Ordner Konfiguration ist und die findet er natürlch nicht, ich hab diese XML- Datei auch schon in den dist- Ordner kopiert aber er will nicht,

Fehlermeldung:

Code:
fehler beim Emlesen der XML- Datei in der Klasse Control, IOException: java.io.FileNotFoundException

Kann ich ihm das irgendwie mitteilen,

im Programm hab ichs ihm so gesagt:

readStates(System.getProperty("user.dir") + "\\Konfiguration\\KonfigComponents.xml");
 

loadbrain

Bekanntes Mitglied
Lass dir mal den pfad von
Code:
System.getProperty("user.dir") + "\\Konfiguration\\KonfigComponents.xml");
ausgeben, dann siehst du wo das liegt.
Am einfachsten du machst das mit der Datei genauso wie mit den jars.
Dann kannst Du im Programm über
Code:
InputStream ist = this.getClass().getResourceAsStream( "/Konfiguration/KonfigComponents.xml" );
darauf zugreifen, sowohl dann direkt aus NetBeans wie später aus dem dist ordner.
 

PollerJava

Top Contributor
da versteh ich jetzt nicht was du meinst.
die soll ich mir den Pfad ausgeben,
mit NetBeans funktionierts ja ienwandfrei, warum geht das über die Konsole nicht und meine Methode schaut so aus:

private Vector readStates(String xmlFile), ich kann also nur einen String an diese Methode übergeben?

Kannst du mir da nochmal weiterhelfen

Code:
Mit 
readStates(System.getProperty("user.dir") + "\\Konfiguration\\KonfigComponents.xml"); 
gibt er genau das aus und das müsste ja auch passen, NEtBeans verstehts ja auch

C:\Projekte\java\myProjekt\Konfiguration\KonfigComponents.xml

lg und vielen dank
 

loadbrain

Bekanntes Mitglied
Du hast selbst geschrieben, Du hast eine
Code:
java.io.FileNotFoundException
, also wir die Datei nicht gefunden, ganz einfach.
Bau doch mal den kompletten Pfad fest ein & teste ob es dann geht.
 

PollerJava

Top Contributor
hab ich schon gemacht aber geht nicht, gleicher Fehler,

was mich so irritiert ist, dass es in der IDE NetBeans funktioniert und über die Konsole soll er den Pfad auf einmal nicht mehr kennen, das versteh ich einfach nicht.

Weiß du da einen Grund dafür?
 

PollerJava

Top Contributor
Also ich hab z.B. meine Bilder in den Ordner Pics getan, meine Konfiguratiuonsdatei in den Ordner Konfiguration,
das mag er über die Konsole nicht, das kann ich schon mal sagen, das ist mit den Bildern das gleiche,
Keine Ahnug warum das so ist,
auf jeden Fall gehts jetzt aber die Ordnung in meinem ProjektOrdner ist wieder dahin.

Vielleicht weiß ja da noch jemand eine Abhilfe?

Vielen dank auf jeden Fall für Eure sehr hilfreichen Antworten!!

lg
 

loadbrain

Bekanntes Mitglied
Hm, also, wenn Du in Deinen src ordner die ordner pics etc anlegst und dann über getResourceAsStream() darauf zugreifst, dann geht das, mehr kann ich jetzt auch nicht dazu sagen, so mache ich das immer und das geht. Ich hatte genau Dein Problem auch, aber so klappt das dann.
Oder du machst es folgendermassen:
Du legst direkt in Deinem Projektordner die Ordner pics und Konfiguration an, greifst im Quelltext dann über "/pics" darauf zu, dann must du in Deinen dist Ordner allerdings die beiden Ordner kopieren, sonst werden Sie nicht gefunden und ob Du das willst weiss ich nicht...
Letztendlich, du hast eine java.io.FileNotFoundException also wird die Datei nicht gefunden, daran gibt es nichts zu rütteln... :)
Also musst du was mit Deiner Art des Zugriffes ändern, wie auch immer.
So, bin jetzt weg, erst morgen wieder verfügbar...
 
K

Katjushka

Gast
Hallo,
ich möchte auch eine .jar library in meinen Code einbinden, damit alles zusammen in einer .jar Datei liegt und per Doppelclick ausführbar ist. Ich arbeite mit NetBeans. Ich bin nach folgender Anleitung vorgegangen:

loadbrain hat gesagt.:
Mit NetBeans:
Erstelle im src Verzeichnis ein Ordner z.b. jars und füge die Dateien da ein.
In NetBeans gehst du dann im Projekt-Explorer auf dein Projekt, rechte Maustaste , Properties, Libraries, unter Compile dann Add Jar/Folder.
Die Dateien packts Dir dann alle beim bauen mit ein.


Dann habe ich normal auf Build > Build main project geclickt
Wenn ich das jar nun aber in einen anderen Folder als src verschiebe, meldet Java auf der Konsole einen NoClassDefFoundError, weil meine Bibliotheks-jars offensichtlich nicht in mein Haupt-jar eingebunden wurden.

Was habe ich denn falsch gemacht?

Danke

Katya
 
G

Gast

Gast
Genau das gleiche Problem habe ich auch zur Zeit!

Soweit ich es verstanden habe, kann man zwar die Library in die Hauptjar einbinden, aber dann nicht relativ auf sie verweisen.

Stimmt das oder gibt es doch eine Möglichkeit?

Mfg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Programm findet eingebundene .jar Datei nicht Allgemeine Java-Themen 7
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
L Mehrere .Jar Files aufrufen Allgemeine Java-Themen 9
P Am Application Server - Selbe files aber trotzdem CNF Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
M *.class Files ausführen Allgemeine Java-Themen 2
F Java moved Files statt sie zu kopieren Allgemeine Java-Themen 12
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
X Wav-Files abspielen Allgemeine Java-Themen 2
L Zwei Files miteinander vergleichen und Grafisch darstellen Allgemeine Java-Themen 1
W audio files metadaten Allgemeine Java-Themen 2
M Threads Excel files bearbeiten Allgemeine Java-Themen 4
J Wie kann man .txt Files übers Internet verschicken? Allgemeine Java-Themen 53
V Files mit Umlauten ergeben keine Größe Allgemeine Java-Themen 9
K Zip-Archive mit temporären Files erstellen Allgemeine Java-Themen 16
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
M wav-files kanäle zusammenfügen + pitchen Allgemeine Java-Themen 6
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
B Files.isDirectory Allgemeine Java-Themen 14
P Ordnerstruktur nach .js-Files durchsuchen Allgemeine Java-Themen 2
L Class Files , Methode .delete() Allgemeine Java-Themen 13
P Files - nach der reihe String reinschreiben Allgemeine Java-Themen 2
J Laden von JAR Files geht ohne ADMIN Rechte sehr langsam Allgemeine Java-Themen 6
A Navigation zu Files innerhalb jar Allgemeine Java-Themen 3
P JAVA Bilder/Videos in Form von Files vergleichen Allgemeine Java-Themen 7
B Eclipse Attache source to own jar-files Allgemeine Java-Themen 2
B Permissions of Folders/Files Allgemeine Java-Themen 6
A External Sort - too many open files Allgemeine Java-Themen 6
E Files Kopieren Allgemeine Java-Themen 8
V Mac: Paketinhalt eins Files öffnen, wie? Allgemeine Java-Themen 3
M Übergabe mehrer Files an selbstprogrammieren Parser Allgemeine Java-Themen 4
reibi Separator in java.util.Properties-Files Allgemeine Java-Themen 3
M Webservices: WSDL Files ohne "Service" Element? Allgemeine Java-Themen 4
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
X Log files monitoren Allgemeine Java-Themen 7
reibi Files über Classpath laden Allgemeine Java-Themen 22
S Viele zip-files zu einem kombinieren..? Allgemeine Java-Themen 3
B Öffnen und schließen von Pdf-Files Allgemeine Java-Themen 8
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
R in .jar werden files nicht gefunden!!! Allgemeine Java-Themen 5
N Fehler mit Jar-Files Allgemeine Java-Themen 9
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
U Properties in Jar Files Allgemeine Java-Themen 3
Developer_X Extract Zip Files with Java Allgemeine Java-Themen 21
N 2 files auf gleichheit vergleichen Allgemeine Java-Themen 5
A Get all Files in Workspace Allgemeine Java-Themen 9
Quaxli Files massenhaft löschen Allgemeine Java-Themen 3
N Versionierung von jar-Files Allgemeine Java-Themen 5
Daniel_L Best Practice zum Löschen von Log-Files? Allgemeine Java-Themen 8
V aus mehreren jar files, ein großes basteln Allgemeine Java-Themen 22
J Too many open files Allgemeine Java-Themen 11
J Eclipse: Einbindung von jar-Files funktioniert nicht Allgemeine Java-Themen 4
O .jar Files - Tools zum generieren Allgemeine Java-Themen 25
A Problem: Mehrere PDF-Files nacheinander Öffnen Allgemeine Java-Themen 12
A jpeg Files mit eigenem Programm öffnen Allgemeine Java-Themen 4
M Embedded Files aus PDF extrahieren Allgemeine Java-Themen 3
J Too many files open Allgemeine Java-Themen 4
M Debuggen von Code in jar-Files? Allgemeine Java-Themen 5
G Sonderzeichen für Files Allgemeine Java-Themen 5
G bestimmte Files suchen Allgemeine Java-Themen 2
reibi Classenpath mit mehreren gleichen jar-Files Allgemeine Java-Themen 7
M Die gleiche Klasse in mehreren JAR files Allgemeine Java-Themen 5
M Probleme mit jar-files Allgemeine Java-Themen 5
G Bearbeiten von Files in einem Thread Allgemeine Java-Themen 4
reibi Klassenpfad für jar-Files Allgemeine Java-Themen 7
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
D Files umbenennen mit renameTo() Allgemeine Java-Themen 5
I Pfadangabe zu Files Allgemeine Java-Themen 2
X PowerPoint Files in Java erzeugen Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K "Too many open files" bei Property List Allgemeine Java-Themen 5
T Mp3 files? Allgemeine Java-Themen 2
I Files einlesen Allgemeine Java-Themen 3
I Diverse Files aus Ordner auslesen Allgemeine Java-Themen 10
mabu Erstellen/Entpacken von Cabinet-Files Allgemeine Java-Themen 12
T Jar-Files und JVM-Cache? Allgemeine Java-Themen 2
G policy files laden? Allgemeine Java-Themen 8
T Files an das Betriebsystem übergeben such ideen! Allgemeine Java-Themen 3
M auf files des packages zugreifen Allgemeine Java-Themen 2
A Versionierung von Class-Files Allgemeine Java-Themen 10
vogella Korrektur der Filetypenzuordnung für .jar Files unter Window Allgemeine Java-Themen 2
S Files umbennen Allgemeine Java-Themen 4
M laden von Klassen aus jar files Allgemeine Java-Themen 2
R Drag und Drop von externen Files geht nur als Application Allgemeine Java-Themen 2
V Jar Files Auf meinem Handy Allgemeine Java-Themen 7
D Files einlesen (XML Files) Allgemeine Java-Themen 2
N Problem mit jar und ant: kann files nicht lesen! Allgemeine Java-Themen 15
P Fortschrittszustand von gezippten Files anzeigen Allgemeine Java-Themen 6
S JAR-Files Allgemeine Java-Themen 6
F Alle Files im Ordner nach Dateinamen durchsuchen Allgemeine Java-Themen 28
P Fehlermeldung beim Speichern eines java files Allgemeine Java-Themen 5
P jar files einbinden (Eclipse) Allgemeine Java-Themen 2
G Probleme mit Class Files Allgemeine Java-Themen 16
G rar files dekomprimieren Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben