Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Sollen beispielsweise alle .java-Dateien des aktuellen Verzeichnisses in ein Archiv mit der Bezeichnung blah.jar gepackt werden, so kann dazu folgendes Kommando verwendet werden:

jar cf blah.jar *.java

Das Inhaltsverzeichnis des Archivs kann folgendermaßen abgerufen werden:

jar tf blah.jar

Etwas ausführlicher geht es mit:

jar tvf blah.jar

Um die Datei Test.java aus dem Archiv zu extrahieren, kann das folgende Kommando verwendet werden (das natürlich auch ohne den Zusatz v funktioniert):

jar xvf blah.jar Test.java

Geschrieben

Deiner Jar Datei musst du dann ein Manifest file hinzufügen (die Option -m Manifestdateiname).

in einer Datei (Mainifest.mf) definierst du folgendes:

Manifest-Version: 1.0

Main-Class: Deine Klasse mit der Main

Class-Path: Zusätzliche Libraries, wenn du welche brauchst, ansonsten bleibt der Eintrag weg.

Bsp:

Manifest-Version: 1.0

Main-Class: de.emediaoffice.elk.organizer.CElkOrganizer

Class-Path: ../lib/metouia.jar ../lib/kunststoff.jar

Geschrieben
Original geschrieben von byte

Sollen beispielsweise alle .java-Dateien des aktuellen Verzeichnisses in ein Archiv mit der Bezeichnung blah.jar gepackt werden, so kann dazu folgendes Kommando verwendet werden:

jar cf blah.jar *.java

Das Inhaltsverzeichnis des Archivs kann folgendermaßen abgerufen werden:

jar tf blah.jar

Etwas ausführlicher geht es mit:

jar tvf blah.jar

Um die Datei Test.java aus dem Archiv zu extrahieren, kann das folgende Kommando verwendet werden (das natürlich auch ohne den Zusatz v funktioniert):

jar xvf blah.jar Test.java

Es macht wenig Sinn, Quellcode in JAR-Dateien zu verpacken, überlicherweise packt man da CLASS-Dateien da rein, weil ja anschließend nach dem Deployment das Programm ja ausführen möchte und das geht mit Quellcode nicht so gut.

Frank

Geschrieben
Original geschrieben von javaanfänger

also muss ich: "jar cf mein.jar *.class" eingeben und dann öffne ich das Archiv und ändere die Manifest Datei und gebe da meine Main Class an oder?

Ja, so dürfte es dann klappen. Wie gesagt die .class - Dateien nicht die .java.

Frank

Geschrieben

Das mit dem direkten ändern der Manifest-Datei funktioniert nicht immer.

Deswegen mein Tip oben, denn bei SUN wird erklärt, wie man die manifest-Datei mithilfe einer zusätzlichen Textdatei ändert.

Es macht immer mehr Sinn, sich komplett mit einer Sache zu beschäftigen, als immer nur Bruchstücke zu konsumieren.

k.o.b

Geschrieben

Öffne mal das JAR File mit eine Zipper (Winzip o.ä.) und suche nach der Manifest.mf. Diese einfach mal öffnen und schauen ob die Main-Klasse auch wirklich definiert ist.

Geschrieben

Hallo nochmal.

Kann sein, das es irrelevant ist, aber normalerweise baut man den jar-Befehl so auf:

jar cvfm myapp.jar manifest.txt

Also zuerst die jar-Datei, dann die Manifest-Datei (die eigene).

Hast Du bei Deiner Manifest-Datei darauf geachtet, dass nach der Zeile Main-Class: JMain noch ein Zeilenumbruch kommt? Wenn nicht, dann gehts auch nicht.

k.o.b

Geschrieben
Original geschrieben von kingofbrain

Kann sein, das es irrelevant ist, aber normalerweise baut man den jar-Befehl so auf:

Der Name der Manifest-Datei und der Name der Archivdatei müssen

in der gleichen Reihenfolge wie die Flags ''m'' und ''f'' angegeben werden.

Gruß Jaraz

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...