*jar - Datei aus meinen Klassen erstellen, wie?

Hallo,

ich habe hier ein kleines Projekt aus 5 Klassen erstellt und würde dieses jetzt gerne als *.jar File starten. Bin aber Java Newbie und habe sowas noch nie gemacht. Würde mich also über eine sehr ausführliche Beschreibung freuen.

nachfolgend mal ne kleine Beschreibung was ich so alles an Klassen habe.

  • abstrakte Basisklasse
  • eine davon abgeleitete (mit main Methode)
  • eine wiederum hiervon abgeleitete (mit neuer main Methode)
  • 2 weitere Klassen, von denen Objekte erstellt werden.

Auf der Kommandozeile rufe ich das Programm momentan folgendermaßen auf, da als Übergabe ein Integerwert erwartet wird.

java die2teabgeleitete 4000

es wird also die main Methode der zweiten abgeleiteten Klasse benutzt.

In das *.jar File müssten neben den *.class auch noch die *.java Dateien mit rein gepackt werden.

Freue mich über jeden Tipp. Danke.

Gruß
Pfanni

In das *.jar File müssten neben den *.class auch noch die
*.java Dateien mit rein gepackt werden.

Hallo Pfanni,

es gibt im JDK eine jar.exe, wenn du die einfach mal auf Kommandozeilenebene ohne Parameter aufrufst, erfährst du mehr dazu.

Alternativ tut es auch Winzip oder jede andere Packer der dir eine .zip Datei herstellt, danach einfach nach .jar umbenennen. So mache ich das immer, weil ich zu faul bin mit Kommandozeile rumzuhantieren.

Wichtig ist noch, dass die Verzeichnisstruktur erhalten bleibst, falls deine Klassen in einem Package liegen, dann müssen diese Verzeichnisse auch in der gepackten Datei so vorliegen.

Grüße
Bruno

Hi,

es gibt im JDK eine jar.exe, wenn du die einfach mal auf
Kommandozeilenebene ohne Parameter aufrufst, erfährst du mehr
dazu.

jepp, die hab ich mir schon angeschaut. Aber es muss doch irgendwie machbar sein, dass man das Programm dann startet mit:

java -jar MyProgra.jar 4000

und das muss man doch beim Erstellen der Datei angeben können, da ja bei der Erstellung ausgewählt werden muss welche main Methode benutzt werden soll.

cu
Pfanni

und das muss man doch beim Erstellen der Datei angeben können,
da ja bei der Erstellung ausgewählt werden muss welche main
Methode benutzt werden soll.

Dafür brauchst du eine Manifest Datei, die kannst du entweder mit jar.exe angeben oder selbst anlegen, nämlich MANIFEST.MF im Verzeichnis META-INF.

Dort muss drinstehen:

Main-Class: mein.package.MeineKlasse

Hi,

Dafür brauchst du eine Manifest Datei, die kannst du entweder
mit jar.exe angeben oder selbst anlegen, nämlich MANIFEST.MF
im Verzeichnis META-INF.

danke für den Tipp, habe mit diesem Stichwort per google was gefunden.
Thx.

Gruß
Pfanni