如何通过简单地调用它的名称从终端运行java应用程序?

时间:2015-07-02 12:28:48

标签: java unix terminal

我知道从终端调用jar文件的默认方式

myapp

我想通过名称/usr/bin/从终端调用该应用。我知道如果脚本保存在.sh中,可以通过此方法从终端调用shell脚本(当然,bin扩展名已被删除)

这可以用jar文件实现吗?我不想设置别名。我想通过从java appname目录调用来专门执行此操作。

编辑:如果可以通过类似gcj的方式进行调用,这也会有所帮助。

编辑:我已经检查了linux gcj的用法,因为Michael Aaron Safyan在评论中重定向了我。但jad myapp据说多年来已经过时,不再是行业标准。

这可以通过创建一个jad文件并从终端调用类似psd的内容来实现吗?

2 个答案:

答案 0 :(得分:4)

Unix shell无法运行jar文件。唯一的解决方案是a)别名,或b)在名为myapp

的文件中围绕此编写一个最小包装器
#!/bin/sh

java -jar myapp.jar

并将其放在bin目录中。别忘了让它可执行(chmod 755 myapp)。然后,您可以通过myapp调用它。

请注意,您可以更加聪明地找到正确的版本等。您可能只是从您最喜欢的MIT / BSD许可Java应用程序中获取此脚本,如果您将其许可证包含在您的软件中。

答案 1 :(得分:0)

可以将Linux配置为将任意文件类型识别为可执行文件。我从未做过,但here是binfmt_misc内核功能的描述。

话虽如此,它是一个罕见的java程序,不需要设置类路径。这最好通过shell脚本包装器完成。