我要运行以下脚本:
# harvest_bug
#
start on runlevel [345]
script
java -jar /home/admin/es09AndroidUpdater/es09AndroidUpdater.jar
end script
但是我的 linux 机器对 java 一无所知。如果我运行 java -version
,我会得到
bash: java: command not found
我猜 java 不在 $PATH 中,因为我仍然可以运行 Tomcat 之类的东西。例如 Tomcat 的 setenv.sh
看起来像这样:
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default/jre
PATH=$PATH:$JRE_HOME/bin
export PATH
PATH=$PATH:$JAVA_HOME/bin
export PATH
export JAVA_OPTS="-Des09.config=/home/es09/es09.properties -Xms128m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
那么我该如何修改脚本来运行我的 jar 呢?我可以这样做吗?
# harvest_bug
#
start on runlevel [345]
script
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default/jre
PATH=$PATH:$JRE_HOME/bin
export PATH
PATH=$PATH:$JAVA_HOME/bin
export PATH
export JAVA_OPTS="-Des09.config=/home/es09/es09.properties -Xms128m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
java -jar /home/admin/es09AndroidUpdater/es09AndroidUpdater.jar
end script
可以吗? linux 会运行这个脚本吗?听起来很愚蠢,因为我不熟悉 bash、linux 和类似的东西。
最佳答案
在$PATH或$JAVA_HOME环境变量中设置java路径的主要目的是定义java可执行文件的确切路径。
要运行您的脚本,请使用
$JRE_HOME/bin/java $JAVA_OPTS -jar/home/admin/es09AndroidUpdater/es09AndroidUpdater.jar
关于java - 如何从 .conf 运行 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34311289/