java - Jenkins运行远程shell脚本的问题

标签 java shell tomcat jenkins

我在使用 jenkins 时遇到了一些问题。

场景:

  1. 我在机器 A 上安装了一个 tomcat,并配置了包括 JDK 在内的所有必要环境,它们运行良好。
  2. 我编写了一个名为 restart.sh 的 shell 脚本来终止 tomcat 进程,然后重新启动。 我执行脚本并且运行良好。当我使用 ps -ef 检查 tomcat 进程时,它显示了我已经配置的确切 JDK 路径。JDK 路径是/usr/local/java/JDK7
  3. 当我通过 jenkins 执行 restart.sh 脚本时,问题来了。我可以看到 tomcat 进程使用了​​错误的 JDK 路径,/usr/bin/java,而不是我配置的路径。我使用 SSH Publishers 插件来运行远程脚本。如下图所示: enter image description here

我不知道这个问题是怎么发生的,请帮忙,谢谢大家

最佳答案

这可能是路径变量的问题,只是为了交叉验证,在你的服务器上找到 JAVA_HOME 1. 通过手动登录服务器 2. 从你的 jenkins 作业的 ssh 部分的 Exec 命令,很可能你会找到答案.

我假设您将 jenkins 配置为使用在其根级别定义的 jdk。

如果这还没有解决,我们需要从另一个角度来审视这个问题。

关于java - Jenkins运行远程shell脚本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37040997/

相关文章:

linux - 运行 bash 脚本以从另一个目录关闭 tomcat

Java IOException : No buffer space available while sending UDP packets on Linux 错误

java - Web 服务安全 : Client signs SOAP message (Tomcat)

linux - 如何在bash中为printf的每一行添加注释?

bash 运行命令而不退出错误并告诉我它的退出代码

tomcat - java.lang.IllegalArgumentException : Invalid <url-pattern> in servlet mapping 异常

java - 调用 Tomcat doFilter() 并提交响应

java - 在 java 中使用字符串匹配时出现 stackoverflow 异常

Java servlet 和服务器发送的事件

c++ - 通过 shell 脚本检查 C++ 可执行文件的返回值