当前位置:  开发笔记 > 编程语言 > 正文

为什么我能直接从bash执行JAR?

如何解决《为什么我能直接从bash执行JAR?》经验,为你挑选了1个好方法。

我是一个长期的Java人员,并且知道MANIFEST.MF在Jar 中的文件中引用的主类运行JAR的方法很简单:

java -jar theJar.jar

我正在使用它来启动Fabric3服务器(包含bin/server.jar在其标准发行版中).我注意到当我从分发tarball解压缩它时,它被标记为可执行文件.一时兴起,我试过了

./server.jar

从我的bash命令行(bashUbuntu 10.10中的4.1.5版本)开始,服务器启动就像我输入了正常的java -jar ...命令一样.JAR的结构类似于普通的JAR; 我做了一个head,并且#!在前几个字节中没有命令,所以bash不应该神奇地知道用它启动Java VM,对吧?或者这个版本的bash增长能否正确启动JAR并使用正确的清单?询问心灵想知道......



1> SingleNegati..:

这根本不是bash的特征.如果您正在运行linux(因为您已经标记了),那么binfmt_misc当您尝试执行程序时,您可能拥有内核模块,这会产生一些魔力.基本上它的作用是它扩展了linux可以从elf执行的二进制格式,也包括一些用户定义的格式,并有足够的指令来运行它们.


是的,就是这样.您可以在Ubuntu 10.10上运行update-binfmts --display,以查看安装的处理程序列表.
推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有