• Gestartet werden .jar normalerweise mit 'java -jar <name>.jar', wobei zu beachten ist, das es von Vorteil ist ein gueltiges, fuer sein Programm geeignetes Manifest zu haben, das man dem Archiv hinzufuegt.
    Eine META-INF/MANIFEST.MF (ein Textfile) fuer ein Programm dessen Einsprungpunkt in der Klasse 'Test' des Packages 'Main' liegt koennte so aussehen:

    Code
    Manifest-Version: 1.0
    Created-By: foo
    Main-Class: Main.Test

    Da es in dem JarBuilder die Option gibt ein Manifest zu schreiben bzw. zu importieren, sollte es das auch schon gewesen sein, ansonsten kann man einfach und bequem mit

    Code
    jar cvfm <archive name/path here>.jar ./META-INF/MANIFEST.MF -C <where my .class root is> <package name>

    .jar Archive erstellen.

    No way as the way. No limitation as limitation.

  • Wenn der JDK z.B. in /home/<user>/jdk_<version> ist, dann sollte /home/<user>/jdk_<version/bin in den Pfad rein.

    No way as the way. No limitation as limitation.

  • *.jars sind wozu da genau? sollen die ein java programm mit bestimmter struktur in einem file zusammenfassen? (a la zip), damits nicht so ein chaos gibt? und ist dann (a la c++) einfach "ausführbar" ?

    frontline morale destroyer

  • Zitat von C++Redeemer

    *.jars sind wozu da genau? sollen die ein java programm mit bestimmter struktur in einem file zusammenfassen? (a la zip), damits nicht so ein chaos gibt? und ist dann (a la c++) einfach "ausführbar" ?

    so in etwa stimmt das.

    * technisch gesehen sind jar-dateien nichts als zip archive.Du kannst ein jarfile auch erstellen, indem du alle resourcen in ein zipfile packst und dann in .jar umbenennst.

    * logisch gesehen stellen sie komponenten/module/bibliotheken dar. Also der nächsthöhere layer über einem package.

    * durch ein paar konventionen ('manifest') kann man ein paar zusätzliche bequemlichkeiten erreichen, wie zum beispiel eben das ausführen unter windows per doppelklick oder einen eigenen klassenpfad.

    * man kann ein jar-archiv signieren.

    früher, als man java noch viel für applets verwendet hat, gab es zudem den vorteil, dass ein browser ein jarfile schneller laden kann als ein dutzend .class dateien. Bei webstart anwendungen ist das eventuell heute auch noch relevant.

    nach den jars gibt es dann übrigens noch weitere layer:

    * .war-files sind komponenten(auch wieder zip), die zum grossteil aus jar archiven bestehen, und vor allem für web projekte relevant sind.

    * und .ear files enthalten dann wiederum .war-files und kapseln enterprise java beans. das ist dann der layer mit dem komplexere verteilte systeme arbeiten.

  • ah sehr intressant, danke. so hab ichs mir vorgestellt =)

    ich werd mal vorhandene jars unter die lupe nehmen und wie man diese menifest datei erstellt.

    frontline morale destroyer

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!