我在wilfly的linux服务器上工作。
当java训练执行命令时:
String command = "mysqldump -h "+ hostDB +" -u "+ dbUsername +" "+ dbPassword +" "+ nameDB +" -r \""+ path + backUpFile+"\"";
Process process = Runtime.getRuntime().exec(command);
它正在返回mysqldump: Can't create/write to file '"/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"' (Errcode: 2)
但是当我在linux-server shell中执行该行时工作正常。
mysqldump -h xx.xx.xx.xx -u username"-pxxx" database -r "/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"
主机在不同的机器上。
相同的代码在Windows中的本地计算机上工作。
答案 0 :(得分:0)
我找到了解决方案:
linux服务器中的与windows不同,
我们需要使用
//for linux server
String[] cmdarray = {"/bin/sh","-c",command};
process = Runtime.getRuntime().exec(cmdarray);