Java 当 运行 来自 Jenkins 的 shell 脚本时无法识别

Java not recognized when running a shell script from Jenkins

我正在尝试 run/invoke 使用 Jenkins 在 Jenkins slave 上执行 java 程序。我收到错误 Javac 无法识别。但是当我直接从 jenkins 从属主机调用同一个程序时,java 程序运行良好。我尝试通过 shell 脚本本身的 export $java_home 设置 java 主页,但它似乎没有任何帮助。检查了 java 的版本,一切正常。任何 thoughts/ideas??

该脚本中PATH变量的有效值没有java。有很多方法可以解决。

选项 1

您 java 的用户绝对路径。您已经定义了 JAVA_HOME。所以将 java 称为 $JAVA_HOME/bin/java ...

选项 2

上面的变体。将 $JAVA_HOME/bin 添加到路径。喜欢下面

  export PATH=$JAVA_HOME/bin:$PATH

选项 3

以上的进一步变化。允许 Jenkins install JDK and set environment variable pointing to installation。在您的脚本中使用此环境变量。