我需要从jenkins启动sh脚本,这很简单,但我的脚本更改了JAVA_HOME的符号链接,实际上是使用sh脚本在JDK版本之间切换。当我在没有jenkins的情况下启动工作(在bash上写作)时它起作用,但是它不能在jenkins下工作...... Jenkins在启动后记住JAVA_HOME并使用这条路径...如何在jenkins下的sh脚本中更改JAVA_HOME?可能是来自脚本调用jenkins重新加载配置,如果它可能... thx任何帮助!
答案 0 :(得分:0)
试试如下;
public static void execShellCmd(String cmd) {
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd });
int exitValue = process.waitFor();
System.out.println("exit value: " + exitValue);
BufferedReader buf = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = buf.readLine()) != null) {
System.out.println("exec response: " + line);
}
} catch (Exception e) {
System.out.println(e);
}
}
答案 1 :(得分:0)
问题解决了!!! soulution很简单,我有一个在jenkins工作中启动的sh脚本,如下所示: ./MY_SCRIPT.sh
在jenkins下启动该脚本后,我在切换JAVA_HOME方面遇到了问题。
所有都需要像这样执行启动脚本: sh MY_SCRIPT.sh 它将从系统中启动smt。