在命令行(终端)中执行 .jar 的快捷方式
Shortcut to execute .jar in command line (terminal)
我在 Java 中编写了一个程序,可以通过终端 CLI 使用。我已将它打包在一个 .jar 中,它运行良好,但它恰好是我想通过 CLI 经常使用的工具。
我熟悉使用以下方法执行 .jar 文件:
java -jar MyJarFile.jar
但我希望能够 运行 使用单个命令完成此操作。
我完成类似操作的唯一方法是在 Obj-C 中使用 NSTask 对象(我在 C/C++ 方面的技能有限),但情况略有不同。
解决方案可能让我眼前一亮,而且可能非常简单,但如果能帮助我找到启动 .jar 的不同方法,我们将不胜感激。
谢谢
您可以使用 Launch4J 或其他 java 包装器。
Shell 脚本也可以。
#!/bin/bash
java -jar MyJarFile.jar
将其另存为RunMyJarFile.sh并赋予其执行权限。
./RunMyJarFile.sh
这就是您需要做的。
只需像这样向您的 .bashrc 添加一个别名:
echo "alias mycmd=\"java -jar MyJarFile.jar\"" >> ~/.bashrc
然后使用以下命令获取它(或重新打开终端):
source ~/.bashrc
现在您只需键入 mycmd
。
您有两个选择:
- 只需从 GUI 中单击 Jar - 在大多数(所有?)平台上,双击可执行 Jar 将 运行 它们。如果这适用于您的用例,那是最简单的事情。
- 只需将您的
java -jar ...
调用放入 shell 脚本;如果你愿意,把它放在你的 PATH
上。快速简单,但它需要同时跟踪 shell 脚本和 Jar 文件,这可能最终成为 "now you have two problems". 的情况
- 使用 wrapper utility to convert your Jar into a binary or
.exe
installer. These will bundle your Jar with a script or binary that will unpack and run your Jar automatically for you. It's been a couple years, but I've used NSIS 轻松创建 .exe 安装程序。
我在 Java 中编写了一个程序,可以通过终端 CLI 使用。我已将它打包在一个 .jar 中,它运行良好,但它恰好是我想通过 CLI 经常使用的工具。
我熟悉使用以下方法执行 .jar 文件:
java -jar MyJarFile.jar
但我希望能够 运行 使用单个命令完成此操作。
我完成类似操作的唯一方法是在 Obj-C 中使用 NSTask 对象(我在 C/C++ 方面的技能有限),但情况略有不同。
解决方案可能让我眼前一亮,而且可能非常简单,但如果能帮助我找到启动 .jar 的不同方法,我们将不胜感激。
谢谢
您可以使用 Launch4J 或其他 java 包装器。
Shell 脚本也可以。
#!/bin/bash
java -jar MyJarFile.jar
将其另存为RunMyJarFile.sh并赋予其执行权限。
./RunMyJarFile.sh
这就是您需要做的。
只需像这样向您的 .bashrc 添加一个别名:
echo "alias mycmd=\"java -jar MyJarFile.jar\"" >> ~/.bashrc
然后使用以下命令获取它(或重新打开终端):
source ~/.bashrc
现在您只需键入 mycmd
。
您有两个选择:
- 只需从 GUI 中单击 Jar - 在大多数(所有?)平台上,双击可执行 Jar 将 运行 它们。如果这适用于您的用例,那是最简单的事情。
- 只需将您的
java -jar ...
调用放入 shell 脚本;如果你愿意,把它放在你的PATH
上。快速简单,但它需要同时跟踪 shell 脚本和 Jar 文件,这可能最终成为 "now you have two problems". 的情况
- 使用 wrapper utility to convert your Jar into a binary or
.exe
installer. These will bundle your Jar with a script or binary that will unpack and run your Jar automatically for you. It's been a couple years, but I've used NSIS 轻松创建 .exe 安装程序。