Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的linux系统上安装Java应用程序_Java_Linux_Installation_Local - Fatal编程技术网

如何在我的linux系统上安装Java应用程序

如何在我的linux系统上安装Java应用程序,java,linux,installation,local,Java,Linux,Installation,Local,我已经编写了一个Java应用程序来分析我的电话账单并计算平均值。目前,我执行它的方式如下: $ java -jar analyze.jar bill_1.pdf bill_2.pdf 但是我想将应用程序安装到我的系统中。因此,我可以在应用程序和参数的名称中启动一个终端类型,然后按enter键。像其他任何“正常”程序一样 我知道我可以编写一个shell脚本并将其安装到“/usr/bin/”中,但我不相信没有“本机”方式 所以,请帮忙,很抱歉这个问题 “提前感谢”到目前为止,您所做的基本上是“本地

我已经编写了一个Java应用程序来分析我的电话账单并计算平均值。目前,我执行它的方式如下:

$ java -jar analyze.jar bill_1.pdf bill_2.pdf
但是我想将应用程序安装到我的系统中。因此,我可以在应用程序和参数的名称中启动一个终端类型,然后按enter键。像其他任何“正常”程序一样

我知道我可以编写一个shell脚本并将其安装到“/usr/bin/”中,但我不相信没有“本机”方式

所以,请帮忙,很抱歉这个问题


“提前感谢”

到目前为止,您所做的基本上是“本地”方式

您必须记住:Java应用程序被编译成字节码。对于您的应用程序,没有可以调用的二进制文件。您确实需要绕道调用一些JVM安装,并使用指向要运行的主类的指针。用她的话来说;这就是绝大多数java应用程序正在做的事情


从理论上讲,有些产品可以用于从应用程序中实际创建“真正的”二进制文件;但这并不是一条容易的道路(第一步见);如果你说你只是想寻求更多的“便利”,那么这里肯定是不合适的。

一个巧妙的小技巧是,你可以在jar文件的开头附加一个基本的shell脚本,它将适当地运行它。有关完整示例,请参见,但基本内容如下:

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 
你应该准备好了!现在您可以直接调用脚本

./helloworld.run

除了创建您自己的基于C的包装器或您提到的shell脚本并将其添加到
$PATH
(不一定必须位于
/usr/bin
)之外,您还可以购买专门的软件来为您实现这一点。其中一个是。@GhostCat是的,这是一个整洁的小黑客。不幸的是,没有与AFAIK相当的Windows。
./helloworld.run