Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Executable JAR

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.10.2004
    Beiträge
    13

    Executable JAR

    Hallo,

    ich habe ein kleines Tutorial mit jME (jMonkeyEngine) nachgebaut und wollte nun alles als execJAR speichern.
    Das Projekt wurde in Eclipse erstellt und muss mit einem CVS-checkout von jME genutzt werden, sprich:

    1. Projekt: jME-Tutorial
    2. Projekt: jME (checkout)

    In Eclipse habe ich nun mein 1.Projekt eine Build-Referenz auf das 2. gelegt, um meine Klassen bauen zu können.
    In Eclipse starte ich mein Projekt, in dem ich der VM den Parameter
    Code:
    -Djava.library.path=../jME (checkout)/lib/
    übergebe.
    Das funktioniert auch alles super.

    Wenn ich nun mein Projekt exportiere, wähle ich den src-Folder von Projekt 1+2 aus sowie den lib-Folder vom 2.Projekt.

    In meinem JAR ist also grob folgende Struktur gespeichert:
    - Klassen und Sources von Projekt 1+2
    - lib von Projekt 2
    - Manifest mit folgendem Inhalt:
    Code:
    Manifest-Version: 1.0
    Main-Class: com.tutorials.jme.helloworld.HelloWorld
    Class-Path: lib/lwjgl.jar lib/jinput.jar lib/jogg-0.0.5.jar lib/jorbis-0.0.12.jar lib/lwjgl_fmod3.jar
    Jetzt dachte ich das man das JAR einfach asuführen kann:
    Code:
    java -jar HelloWorld.jar
    aber es geht nicht, ein NoClassDevFound-Error kommt.

    Ich habe dann ewig rumgefummelt, bis ich mal auf die Idee kam, den lib-Ordner dorthin zu kopieren, wo auch das JAR liegt, danach konnte ich es zwar mit
    Code:
    java -jar HelloWorld.jar
    immernoch nicht starten, aber mit
    Code:
    java -Djava.library.path=lib/ -jar HelloWorld.jar
    ging es dann endlich.


    Meine eigentliche Frage :

    Kann ich das JAR denn nicht so anlegen, das der lib-Folder im JAR gespeichert ist und die Klassen gefunden werden? Muss denn lib immer ausserhalb vom JAR sein?
    Oder kann ich die Class-Path-Variable im Manifest irgendwie anders setzen, so das er auch den lib-Ordner findet??

    Sonst spare ich mir den lib-Folder in das JAR zu packen und muss halt eine ZIP-Datei erstellen, falls ich mal ein Programm hätte das ich jemandem zur Verfügung stellen möchte...

  2. #2
    Registrierter Benutzer Avatar von Corcovado
    Registriert seit
    10.07.2005
    Beiträge
    30
    http://java.sun.com/docs/books/tutor...sicsindex.html
    http://java.sun.com/docs/books/tutor...ar/appman.html

    Afaik kann man sich das Manifest oder auch einzelne Files anzeigen lassen, editieren, Zeilen zufuegen, loeschen und wieder einladen. So wie ich das verstanden habe sollte ein Jar genau dazu da sein!?
    Hahahahahahaha... (Winx)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •