目前我正在尝试从 java 应用程序启动 openshift 云实例。 为了使其正常工作,我创建了一个包含以下命令的 shell 脚本 (openshiftBoot.sh):
<code>
echo "Booting $1"
rhc create-app $1 jbossas
</code>
在我的 java 代码中,我使用以下代码:
<code>
try {
ProcessBuilder pb = new ProcessBuilder("/bin/bash",
"/Users/..../bootscripts/openshiftBoot.sh", "test");
final Process process = pb.start();
System.out.println(pb.environment());
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
PrintWriter pw = new PrintWriter(process.getOutputStream());
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
pw.flush();
}
System.out.println("Program terminated!");
} catch(Exception e) {
e.printStackTrace();
}
</code>
在 Eclipse 中,代码会立即“执行”并完成,而无需启动新的 openshift 实例。看起来他只是跳过了 rhc 命令。
在 Intelij 中,一切似乎都运行得很完美。
你们中有人知道我在 Eclipse 中做错了什么吗?
提前致谢!
科恩
最佳答案
为什么不尝试使用 OpenShift Java 客户端 ( https://github.com/openshift/openshift-java-client ) 而不是执行 shell 脚本?这是 Eclipse 中的 JBoss Tools 和 JBoss Developer Studio 使用的库。您可以在此处阅读有关如何使用 OpenShift Java 客户端的更多信息 ( http://openshift.github.io/openshift-java-client/ )
关于java - Processbuilder 在 Intellij 中成功,但在 Eclipse 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31298520/