2016-04-21 5 views
1

Ich versuche vacumb db von Java Runtime zu laufen. Gleiche Syntax lief ich in dem Eingabewerkzeug und es funktioniert läuft, aber von Java funktioniert es nicht:Java Laufzeit vacuumdb

final String cmd = "vacuumdb, -d wsemp0408, -v, -z;"; 

    try { 
     System.out.println("ABC BACKUP START"); 
     java.lang.Runtime rt = java.lang.Runtime.getRuntime(); 
     java.lang.Process p = rt.exec(cmd); 
     System.out.println("ABC BACKUP END"); 
    } 

immer diese Fehlermeldung:

java.io.IOException: Cannot run program "vacuumdb,": java.io.IOException: error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) 
at java.lang.Runtime.exec(Runtime.java:593) 
at java.lang.Runtime.exec(Runtime.java:431) 
at java.lang.Runtime.exec(Runtime.java:328) 
at accelteam.sop.backup.DBBackup.start(DBBackup.java:35) 
at accelteam.sop.Sop.run(Sop.java:20) 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) 
at java.lang.ProcessImpl.start(ProcessImpl.java:65) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) 
... 5 more 

Jeder begegnete dies vor?

den vollständigen Pfad Hinzufügen zeigt immer noch Fehler:

java.io.IOException: Cannot run program "/usr/lib/postgresql/9.3/bin/vacuumdb,": java.io.IOException: error=2, No such file or directory 

ich eine exe jar verwendet root erstellt und chmod 777 die Datei seine Erlaubnis Problem der Hoffnung, aber immer noch die gleiche

+1

voll Pfad der vacuumdb ausführbare Datei –

Antwort

0

Fest durch den vollständigen Pfad hinzufügen und Entfernen der ,

final String cmd = "/usr/lib/postgresql/9.3/bin/vacuumdb -d wsemp0408 -v -z"; 

Dies funktioniert ordnungsgemäß.