像 shell一样执行 jar
通常执行 java -jar helloworld.jar
可是看到 kettle 执行时候 ./spoon 或者 presto客户端 执行时候 ./presto
执行很间洁,怎么做到的?
一.新建 stub.sh
#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && MYSELF="./$0"
java=java
if test -n "$JAVA_HOME"; then
java="$JAVA_HOME/bin/java"
fi
exec "$java" $java_args -jar $MYSELF "$@"
exit 1
二. 将脚本和 jar 合并,并赋予权限
cat stub.sh helloworld.jar > helloworld && chmod +x helloworld
三. 执行
./helloworld
参考文章: https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable