# Probleme Runtime.getRuntime().exec(Start.cmd);



## Manfred01 (22. Jul 2008)

Hallo

Ich habe ein seltsames Problem,




> Runtime.getRuntime().exec(Start.cmd);




ich habe ein kleines Programm geschrieben, dass Dateien durchsucht, und je nachdem was neuer es austauscht.
Das funktioniert auch ohne Probleme,
jetzt geschieht folgendes nach dem die Dateien durchsucht wurden, soll über den oberen Code
mit eine cmd Datei starten.
Die Startdatei startet ein anderes Java Programmen, Dieses Programm muss sich aber über eine cmd starten,

 "javaw -Xmx512m -jar Programm.jar"  .

Jetzt passiert folgendes,
dass bei mehreren Rechnern nach dem die Dateien durchsucht wurden und "cmd" Datei gestartet wird
ich einen Fehler bekomme, dass die virtuelle Maschine nicht funktionieren würde.

Starte ich die "cmd" Datei direkt, wird das Programm ohne Probleme gestartet.

Wenn ich es aber über das Abgleichprogramm ausführe bekomme ich immer den Fehler mit der virtuellen Maschine.

Bei anderen Rechner funktioniert das ganze ohne Probleme.

Die cmd datei sieht so aus:





> C:\
> cd c:\steh
> javaw -Xmx512m -jar meinProgram.jar





Wo könnte das Problem liegen?

Gruß Manfred


----------



## FArt (22. Jul 2008)

Fehlermeldung? Falsche Java Version? Umgebungsvariablen wie z.B. JAVA_HOME gesetzt und gleich? PATH?


----------



## Manfred01 (22. Jul 2008)

Hallo die Fehlermeldung 
lautet

"Unable to access jarfile meinProgramm.jar"

Gruß Manfred


----------



## Verjigorm (22. Jul 2008)

dafür gibts einige Möglichkeiten:
- Pfad zum Verzeichnis ist falsch
- Jar liegt nicht im angegebenen Verzeichnis
- keine Zugriffsrechte auf die Jar


----------



## HoaX (22. Jul 2008)

- zugriff durch andere/deine anwendung blockiert


----------



## Manfred01 (22. Jul 2008)

Hallo,
der oben beschriebene Fehler existiert nicht mehr, aber dafür erscheint nun der nächste Fehler das eher die Main Klasse nicht findet.


folgende Fehler kommen jetzt
Could not initialze the Java virtuel machine Program will exit

und 

could not found the main-class 

Gruß Manfred


----------



## FArt (22. Jul 2008)

Manifestdatei im Archiv nicht gepflegt.


----------



## Manfred01 (22. Jul 2008)

Manifest ist in ordnung,
Programm läuft ja auch wenn ich direkt die Start.cmd ausführe.

Gruß Manfred


----------



## Manfred01 (23. Jul 2008)

Hallo,

kann ich der jar Datei eigendlich auch die Parameter 
im Manifest übergeben

javaw -Xmx512m -jar 

Gruß Manfred


----------



## FArt (23. Jul 2008)

Manfred01 hat gesagt.:
			
		

> Hallo,
> kann ich der jar Datei eigendlich auch die Parameter im Manifest übergeben
> Gruß Manfred


Ja, aber dann darf der Parameter -jar nicht verwendet werden.

Beispiel:
entweder der Klassenpfad wird in der Manifestdatei festgelegt, dann klappt es mit -jar. -cp würde in diesem Fall beim Aufruf überlesen werden. Wenn der Paramter -jar weggelasen wird, wird die Manifestdatei ignoriert.

Wenn die Main-Klasse nicht gefunden wird, funktioniert der Aufruf in der gleichen Form sicher auch nicht von der Konsole. Stelle sicher, dass der exceute-Aufruf wirklich exakt wie dein Versuch aus der Konsole aufgebaut ist. Wichtig dabei: Umgebungsvariablen werden vom aufrufenden Prozess nicht übernommen, wenn sie nicht explizit gesetzt werden.


----------



## Manfred01 (23. Jul 2008)

Hallo habe Problem gelöst,

ich habe die Start.cmd weggemacht und mit exe4j habe ich mir aus meine jar datei eine exe gemacht.
und damit funktioniert das ganze Spiel.

Danke und Gruß 

Manfred


----------

