整合 shell 脚本与 Runnable Jar

2022-03-27  本文已影响0人  hemiao3000

当我们得到一个 spring boot 的 jar 包之后,我们可以通过 java -jar xxx.jar 来运行。

但尝试直接运行 ./xxx.jar 时便会报错。这是因为 xxx.jar 仅仅为 Runnable Jar ,而不是 Executable Jar ,它无法直接运行。

一般情况,我们都会借助 shell 脚本来运行我们的 xxx.jar,如下 runJar.sh:

#!/bin/sh
JAR="./xxx.jar"
java=java
if test -n "$JAVA_HOME"; then
    java="$JAVA_HOME/bin/java"
fi
exec "$java" -jar $JAR "$@"
exit 1

在此基础上,我们可以加入更多控制,以实现 runJar.sh start | stop | restart 等特性。

但这样也只是通过 shell 脚本控制 jar 的启动停止,如何做到 Executable Jar 呢?

同样,在此基础上,我们可以加入更多控制,以实现 exec-xxx.jar start | stop | restart 等特性

上一篇 下一篇

猜你喜欢

热点阅读