2016-06-28 12 views
-1

Ich versuche, eine externe exe ausführen, die eine benutzerdefinierte Datei ein speichert sie auf dem Server die ich kannProcess nicht auf dem Server arbeiten, aber gut funktionieren auf localhost

meinen Code für ProcessBuilder funktionieren auf localhost schaffen, sondern wenn ich es auf meinem Server bereitstellen, wird das Dokument nicht erstellt andI haben keine Fehler in meinem Java-Web-Server

ich mit den Umgebungsvariablen der ProcessBuilder zu spielen versucht, aber kein Glück auf, dass immer noch nicht funktioniert

Ich bin auf Ideen

pleaze mir helfen Das ist

Hier ist mein Code für Process, die auf localhost

try { 
    ProcessBuilder processBuilder = new ProcessBuilder("pathtoExe\\executable.exe"); 
    processBuilder.redirectErrorStream(true); 
    processBuilder.redirectOutput(); 
    processBuilder.redirectInput(); 
    Process process = processBuilder.start(); 
    InputStream is = process.getInputStream(); 
    InputStreamReader isr = new InputStreamReader(is); 
    BufferedReader br = new BufferedReader(isr); 
    String line; 
    String s; 
    System.out.printf("Output of running is:"); 
    while ((line = br.readLine()) != null) { 
     System.out.print("ligne out: "); 
     System.out.println(line); 
    } 
    BufferedReader stdError = new BufferedReader(
     new InputStreamReader(process.getErrorStream())); 
    while ((s = stdError.readLine()) != null) { 
     System.out.println(s); 
    } 
    process.waitFor(); 
    System.out.println(process.exitValue()); 
} 
catch (IOException| InterruptedException e) { 
    e.printStackTrace(); 
} 
+1

Fehlermeldung erhalten Sie? – Koshinae

+0

ich bekomme keine Fehlermeldung und der exitvalue ist 0 mein Code funktioniert auf localhost, aber wenn ich auf meinem Glassfish-Server deploy es tut nichts – DeadPool

+0

Zufällig befindet sich dieser Glassfish-Server auf Linux? – Koshinae

Antwort

0

gut funktioniert Wenn es jemand helfen könnte, fand ich heraus, dass der Benutzer, der Glassfish-Dienst gestartet hat, die Rechte nicht hatte im Netzwerk ausführen.

habe ich einen Benutzer mit den guten Rechten und Voilà ..

Dank.