Javaprog aus Javaprog Systemunabhängig starten

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Kann ich aus einem Javaprogramm ein anderes Javaprogramm (in einer neuen VM) Systemunabhängig starten? Für Windows wäre das ja z. B. so etwas:

Code:
Runtime.getRuntime().exec("cmd /c javaw klasse");

Aber wie schaut das jetzt Systemunabhängig aus? Bzw. geht das überhaupt?
 

The_S

Top Contributor
@ bleiglanz

Weil ich beim Aufruf noch Parameter mitgeben will. Das dürfte dann wohl nicht gehen, wenn ich einfach die main aufrufe.

@ mischer

werd ich mir mal anschauen.
 

The_S

Top Contributor
Sry, falsch ausgedrückt :oops: . Mit Parameter meinte ich z. B. den Maximal und Minimal verfügbaren Arbeitsspeicher.

[edit] Splashscreen scheint nicht das zu sein, nachdem ich suche. Ist ja im Grunde doch nur ein Prog, dass ohne sonstige Einstellungen aufgerufen wird.
 

The_S

Top Contributor
Ja, das wäre ausreichend. Aber:

Ich kenne keine Möglichkeit ein Programm Systemunabhängig mit mehr speicher auszurüsten.

- Ne Batch-Datei ist nicht Systemunabhängig und so gut kenn ich mich dann auch nicht wieder aus, dass ich für ALLE Betriebssysteme sowas schreiben kann
- Ich kenne auch keine Möglichkeit den zugewiesenen Speicher im jar mitanzugeben.

deswegen hab ich gedacht, dass das wenn dann am ehesten vielleicht über ein externes Java-Prog funktioniert (bei dem ich dann netterweiße den User auch noch fragen kann, wie viel Speicher er zur Verfügung stellen möchte).
 

Bleiglanz

Gesperrter Benutzer
du könntest ant.jar mitschleppen und
Code:
        Java exec = new Java();
        exec.init();
        exec.setProject(new Project());
        exec.setDir(new File("./bin"));
        exec.setClassname("foo.bar.MeineKlasse");
        exec.executeJava();
machen, das wär so halbwegs plattformunabhängig :)

oder erstmal mit
Code:
String command =
          System.getProperty("java.home") + 
          java.io.File.separator + 
         "bin" +
          java.io.File.separator 
     + "java IrgendWelcheArgumente";

        Runtime.getRuntime().exec(command);
herumwursteln
 

The_S

Top Contributor
Was ist halbwegs Systemunabhängig? Läuft es sagen wir auf Linux und Windows? Zweiteres werde ich auf jedenfall bei Gelegeheit mal ausprobieren.
 

Mag1c

Top Contributor
Hmm,

da würd ich doch lieber ein paar kleine Startskripte für Win/Linux/MacOS backen und mittels -Xmx den Speicher hochsetzen.

Gruß
Mag1c
 

Mag1c

Top Contributor
MacOS hab ich auch nicht, aber bei Linux kann ich dir helfen. z.B.

Code:
#!/bin/sh

java -Xmx512MB -jar deineanwendung.jar

EDIT: Und bitte nur einfache LF als Zeilenumbruch. CR+LF mag die sh nicht ;)

Gruß
Mag1c
 

Sky

Top Contributor
Du kannst die Datei mit einem Java-Programm schreiben ;-)

Ansonsten gibt es Editoren (z.B. TextPad) wo Du wählen kannst: UNIX, PC, MAC
 

Bleiglanz

Gesperrter Benutzer
Code:
 #!/bin/sh
// funktioniert nur wenn java im PATH ist
java -Xmx512MB -jar deineanwendung.jar
 

Mag1c

Top Contributor
Yep, aber

wenn java nicht im Pfad ist, funktioniert auch ein manuelles "java -jar ..." nicht. Und ein Doppelklick in der GUI auf das .jar höchstwahrscheinlich auch nicht. Ist also keine Verschlechterung ;)

Gruß
Mag1c
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben