【发布时间】:2016-11-15 21:41:38
【问题描述】:
我有以下应该运行我的 run.sh 脚本的 java 代码。
public void executeScript() {
try {
Process p = null;
ProcessBuilder pb = new ProcessBuilder("phoneManagement/src/run.sh");
//pb.directory(new File("phoneManagement/src"));
p = pb.start(); // Start the process.
p.waitFor(); // Wait for the process to finish.
System.out.println("Script executed successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
run.sh 看起来像这样:
#!/bin/sh
javac -cp ".:../../selenium/selenium-java-2.53.1.jar:../../selenium/selenium-server-standalone-2.53.1.jar:../../selenium/libs/*" phoneManagement.java
java -cp ".:../../selenium/selenium-java-2.53.1.jar:../../selenium/selenium-server-standalone-2.53.1.jar:../../selenium/libs/*" phoneManagement
如果我从命令行运行 .sh 脚本,它会执行应有的操作,并且我的 phoneManagement 会被编译和执行。
当我使用我的 executeScript 类时,我收到消息“脚本已成功执行”,尽管 run.sh 没有做它应该做的事情。
谁能帮我解决这个问题?
感谢
【问题讨论】:
-
尝试使用完整路径。该命令很可能失败,但我认为它不会出现异常。尝试输出命令的输出。