如何让我的 jar 文件像常规应用程序一样从终端执行

如何让我的 jar 文件像常规应用程序一样从终端执行

我们都知道,有些命令(即可执行文件)我们可以直接从终端运行,而无需为它们设置完整路径。例如,/usr/bin

我有一个 jar 文件,目前正在通过命令运行java -jar jarName.jar {arguments}

有没有办法可以让我以类似的方式运行我的 jar,而不用编写整个命令java -jar path_to_jar/jarName.jar {arguments}

我想写一些类似的东西

appName {arguments}并希望 jar 获取参数并执行,就像我写的那样java -jar path_to_jar/jarName.jar

我愿意将 jar 文件设为可执行文件,并将其放在 /usr/bin 中,以便可以从任何地方访问它。但我不知道该怎么做。下面的方法根本没有帮助使 jar 可执行的教程

答案1

您可能想尝试编写一个执行命令的 bash 脚本。对于您来说,它看起来像这样:

#!/bin/sh 
java -jar path_to_jar/jarName.jar "$*"

“$*” 将所有提供给 bash 脚本的参数直接发送到您的 java 程序。最后要做的就是将您的脚本保存在 /usr/bin/myprogram.sh 中,然后您就可以在终端中直接将其作为命令执行:

myprogram arg1 arg2 arg3 arg4

答案2

首先,cd进入包含文件的目录.jar并运行:

chmod +x program.jar

接下来运行:

nano ~/.bash_aliases

然后,将这一行添加到文件中:

alias custom_name='java -jar /full/path/to/.jar'

退出 nano 并保存更改,然后重新启动终端窗口

现在,您可以从任何地方运行它,如下所示:

custom_name {args}

答案3

您也可以设置别名。

在 /home/user 目录中打开一个空白文件,例如nano ~/.bash_aliases

并添加别名,如:

alias new_name='command'在你的情况下:

alias mycustomcommand='java -jar path_to_jar/jarName.jar {arguments}'

source归档,如source ~/.bash_aliases 进行相应编辑。

答案4

你可以把你的.jar文件放在/usr/local/bin/usr/bin用于系统可执行文件,见文件系统层次标准),chmod a+x theFile.jar然后输入theFile.jar以运行它。

由于 Linux(Unix、BSD* 等)不允许用户控制的文件名影响执行,因此您可以mv /usr/local/bin/theFile.jar /usr/local/bin/theFile,然后通过 运行它theFile

相关内容