bash - 从 Jenkins 调用时 Tomcat 启动脚本不起作用

标签 bash shell tomcat jenkins

有两个tomcat实例。一个用于 Jenkins (tomcat8-jenkins),一个用于应用程序(tomcat-mc)。他们在同一台服务器上。

当我在 jenkins 的build设置中执行 shell 脚本时,jenkins 似乎正在尝试启动它自己的 tomcat 实例。以下是脚本和错误。

cd $TOMCAT_PATH/bin
./shutdown.sh

./startup.sh

错误

+ cd /usr/local/tomcat-mc/bin
+ ./shutdown.sh
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)

+ ./startup.sh
PID file (/usr/local/tomcat8-jenkins/logs/tomcat.pid) found. Is Tomcat still running? Start aborted.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我试过调整 BUILD_ID= 并更改 CATALINA_HOME=$TOMCAT_PATH 。但是还是报错。

最佳答案

关于bash - 从 Jenkins 调用时 Tomcat 启动脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38739066/

相关文章:

linux - 为什么我无法运行位于 bin 中的文件?

java - 如何在不删除/取消部署旧应用程序的情况下在 tomcat 中重新部署 war 文件?

linux - 打印 file1 到 file2 的差异而不删除 file2 中的任何内容

regex - 删除 2 个匹配模式之间的 n 行,保留第一个匹配项并删除第二个匹配项

bash - 使用 shell 脚本在远程服务器上执行命令

linux - 替换特定位置的单词

linux - $SHLVL 不增加 ( echo $SHLVL)

linux - shell 脚本 - 将一个变量分配给另一个 - 数组

java - Tomcat 虚拟主机配置不适用于 Struts 操作

apache - Mod_jk 将除两个站点之外的所有请求挂载到 tomcat