[英]How to run Java application at system startup on Windows/Linux/MacOS?
[英]How to install Java application to my linux system
我已经编写了一个Java应用程序来分析我的电话费并计算平均值。 此刻我像这样执行它:
$ java -jar analyze.jar bill_1.pdf bill_2.pdf
但是我想将应用程序安装到我的系统上。 因此,我可以在应用程序名称和参数中启动终端类型,然后按Enter。 像其他任何“常规”程序一样。
$ analyze bill_1.pdf bill_2.pdf bill_3.pdf
我知道我可以编写一个shell脚本并将其安装到“ / usr / bin /”,但我不相信没有“本机”方式。
所以请帮助,对于转储问题深表歉意。
提前致谢
到目前为止,您所做的基本上是“本机”方式。
您必须记住:Java应用程序被编译为字节码 。 对于您的应用程序,根本没有可以调用的二进制文件 。 您确实需要绕开调用某些JVM安装程序以及指向您要运行的主类的指针的过程。 换句话说。 这就是绝大多数Java应用程序正在做的事情。
从理论上讲,有很多产品可以用来从应用程序中实际创建“真正的”二进制文件。 但这不是一条简单的路(请参阅此处了解初学者); 考虑到您的声明,即您只是想寻求更多“便利”,因此在此绝对不合适。
一个巧妙的小技巧是,您可以将一个基本的shell脚本附加到jar文件的开头,这将适当地运行它。 完整示例参见此处 ,但基础知识是:
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
然后做...
cat stub.sh helloworld.jar > hello.run && chmod +x helloworld.run
而且你应该准备好了! 现在,您可以直接调用脚本化的jar。
./helloworld.run
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.