bubble: JAR - Main-Klasse im Terminal angeben

Ich stehe vor einem (eigentlich) recht simplen Problem, dass ich aber nicht gelöst bekomme.
Ich werkel zum ersten Mal mit einem JAR-Archiv herum, dass mehrere Klassen mit einer main()-Funktion beinhaltet. Nun dachte ich mir, dass ich dann die verschiedenen Programmabläufe einfach über

  
java -jar DemonServer.jar demonserver.DemonServer  

ausführen könnte. Allerdings frisst mir Java da die Angabe der Hauptklasse als Argument weg und hat somit keine Hauptklasse und meckert herum.

kein Hauptmanifestattribut, in DemonServer.jar

Stell ich mich momentan einfach nur blöd an, oder gibt es da wirklich keinen Weg? Und wenn ich mich blöd anstelle, wie geht es richtig?

MfG
bubble

--
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
  1. Hi,

    Ich stehe vor einem (eigentlich) recht simplen Problem, dass ich aber nicht gelöst bekomme.
    Ich werkel zum ersten Mal mit einem JAR-Archiv herum, dass mehrere Klassen mit einer main()-Funktion beinhaltet. Nun dachte ich mir, dass ich dann die verschiedenen Programmabläufe einfach über

    java -jar DemonServer.jar demonserver.DemonServer

    
    > ausführen könnte. Allerdings frisst mir Java da die Angabe der Hauptklasse als Argument weg und hat somit keine Hauptklasse und meckert herum.  
    >   
    > `kein Hauptmanifestattribut, in DemonServer.jar`  
    >   
    > Stell ich mich momentan einfach nur blöd an, oder gibt es da wirklich keinen Weg? Und wenn ich mich blöd anstelle, wie geht es richtig?  
      
    Zwei Vorgehensweisen:  
    1\. es gibt nur eine "Start"-Klasse: diese wird im MANIFEST.MF im Jar-File bei Main-Class: angegeben.  
      
    2\. es gibt mehrere "Start"-Klassen: statt -jar gibst Du das jar bei -classpath an, und rufst dann die jeweilige "Start"-Klasse explizit auf.  
      
    cu,  
    Andreas
    
    -- 
    [Warum nennt sich Andreas hier MudGuard?](http://MudGuard.de/)  
    [O o ostern ...](http://ostereier.andreas-waechter.de/)  
      
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.  
    
    
    1. Stell ich mich momentan einfach nur blöd an, oder gibt es da wirklich keinen Weg? Und wenn ich mich blöd anstelle, wie geht es richtig?

      1. es gibt mehrere "Start"-Klassen: statt -jar gibst Du das jar bei -classpath an, und rufst dann die jeweilige "Start"-Klasse explizit auf.

      Nicht nur blöd, gar selten dämlich hab ich mich da angestellt. Wenn ich was überflogen hab, und kein -jar gesehen hab, hab ichs gleich verworfen.

      Danke für die schnelle und hilfreiche Antwort :)

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye