Rätsel für Windows Profis

Thallius

Top Contributor
Hi,

ich habe hier ein Problem, wo ich nicht weiß wie ich weiter kommen soll.

Ich habe eine Java App, welche per exec() eine weitere java app startet. Das funktioniert wunderbar nur auf einem Rechner bei einem Kollegen klappt es nicht. Dort startet diese zweite App mit dem exec Command einfach nicht. Und zwar kommentarlos.

Jetzt kommt das besonders verwunderliche.

Wenn ich meine App dem Kollegen als .jar gebe dann funktioniert es. Wenn ich diese .jar aber mit jar2exe in eine exe umwandele, dann geht es nicht.

Wie gesagt es muss etwas spezifisches an diesem Rechner sein, denn auf allen anderen Rechnern (so ca 20 bis jetzt) läuft es. Mein Problem ist, dass ich nicht weiß wie ich das weiter debuggen soll.

Vielleicht hat ja einer von euch zumindest eine Idee wie ich weiter vorgehen kann

Gruß

Claus
 
Welche der beiden Apps ist wie gepackt (jar/jar2exe)?
Wie wird die zweite Anwendung gestartet?
Was gibt exec zurück (in Zweifel einfach alles exzessiv loggen)?
Lässt sich die zweite App denn „normal“ starten?
 
Welche der beiden Apps ist wie gepackt (jar/jar2exe)?
Wie wird die zweite Anwendung gestartet?
Was gibt exec zurück (in Zweifel einfach alles exzessiv loggen)?
Lässt sich die zweite App denn „normal“ starten?

Die aufrufende App ist mit jar2exe erstellt. die aufgerufene ist eine .jar datei

Aufgerufen wird es so:

Code:
String xxx = "xxx.jar";
        try
        {
            model.Logger.Log("Starte xxx mit Path: " + path); //$NON-NLS-1$
            Runtime.getRuntime()
                    .exec(new String[] {
                            "java", "-jar", "-Xmx512m", xx, "GE Perf", path, "false" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
        } catch (Exception e) {
            model.Logger.Log(e.getMessage());
            return false;
        }
        return true;

Die zweite App läßt sich auch per console starten kein Problen. Wie gesagt wenn ich meine App nicht mit jar2exe packe sondern einfach das .jar starte geht auch alles. Es muss irgendwas damit zu tun haben, dass die zweite App aus einer .exe heraus gestartet wird. Vielleicht kann man das unter Windows irgendwo verbieten oder eventuell schlägt da irgendein virenchecker zu oder sowas?
 
Spontan würde ich den Fehler entweder im "Arbeitsverzeichnis" ("Ausführen in" der Verknüpfung) oder in den Umgebungsvariablen suchen (PATH -> falsche Java-Version wird verwendet).

Am besten wird es sein, Du loggst mal die Ausgabe (Input- und insbesondere auch Errorstream) des Prozesses mit.
 
Hallo,

danke an alle für die Hilfe. Mit Hilfe des ErrorStreams konnte ich jetzt herausfinden was passiert ist.

Tatsächlich hatte der Kollege noch eine alte java.exe in seinem Windows-System Ordner. Dadurch wurde wohl beim exec kommand die falsche Runtime verwendet. Ein Löschen der Datein hat dann die Avbhilfe gebracht.

Gruß

Claus
 

Zurück
Oben