Bestimmtes main() aus jar starten

Status
Nicht offen für weitere Antworten.

Hansdampf

Bekanntes Mitglied
Ich stehe ziemlich auf dem Schlauch...
Ich habe ein jar inklusive Manifest. Nun will ich aber per Kommandozeile eine andere main als die in der Manifest angegebene starten. Wie geht das?

Ist die einzige Möglichkeit, die zu startende Klasse als Parameter zu übergeben und per Class.forName(xxx).newInstance() zu starten?
 
Wenn du Java 6 verwendest, könntest du die Main-Class mit dem Programm jar ändern. Das scheint mir noch die einfachste Variante zu sein.
 
danke für die Antwort.
Leider wird so jedes mal eine neues jar erzeugt. Werde wohl bei meiner dynamischen bleiben. Trotzdem verstehe ich nicht, dass es keine einfache Kommandozeilen Lsg gibt. Für meine 100 main() im jar will ich doch keine 100 verschiedene jars erzeugen, mit Applets kann man ja auch den Einstiegspunkt festlegen.
 
Naja, es ist auch nicht die Norm, 100 main-Methoden in einem Jar zu haben. Man packt ja normalerweise eine Anwendung in ein Jar und kann das Verhalten dann ein wenig mit Parametern beeinflussen, aber das wars auch. Ist zumindest meine Auffassung. Aber es verwundert mich dennoch, dass es (scheinbar?) nicht geht.
 
Schon komisch, zumal es mit webstart auch ohne probleme geht. Bei mir sind es auch nicht 100, sondern ca. 10. Die Anzahl ist ja auch egal, schon ab 2 main()s wäre es eleganter.
Falls jemand eine Lsg kennt, bitte her damit.
 
Schonmal versucht die jar in den Classpath zu packen und dann die Klasse die du starten möchtest anzugeben?

Also:

java -cp xxx.jar de.xxx.Xxx
 
So im Nachhinein fühl ich mich richtig blöd. Es ist auch nicht so, dass ich nie ein Jar so gestartet hätte. Naja, nächstes Mal. :autsch:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben