![如何让我的 jar 文件像常规应用程序一样从终端执行](https://linux22.com/image/889776/%E5%A6%82%E4%BD%95%E8%AE%A9%E6%88%91%E7%9A%84%20jar%20%E6%96%87%E4%BB%B6%E5%83%8F%E5%B8%B8%E8%A7%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%80%E6%A0%B7%E4%BB%8E%E7%BB%88%E7%AB%AF%E6%89%A7%E8%A1%8C.png)
我们都知道,有些命令(即可执行文件)我们可以直接从终端运行,而无需为它们设置完整路径。例如,/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
。