我怎样才能从 shell 执行 JAR 文件?

我怎样才能从 shell 执行 JAR 文件?

我一直以为,UNIX/Linux 中只有ELF-files 和 shell 脚本才是可执行文件。但我发现,可以使用 just$ ./file.jar代替$ java -jar file.jar

-files有何JAR特殊之处?还有其他此类行为的例子吗?我可以创建自己的文件类型,仅通过其名称/路径即可执行吗?

答案1

这是因为 ubuntu 支持binfmt_misc内核模块,并且该jar类型已启用。请参阅/proc/sys/fs/binfmt_misc/jar

这是非常老的版本(自内核 1.03 以来)。更多信息请参见此处:https://stackoverflow.com/questions/1667830/running-a-jar-file-without-directly-calling-java

其他例子是 python 和 wine,是的,如果你了解binfmt_misc它们的工作原理,你也可以创建自己的类型。

相关内容