我是一個長期的Java的傢伙,知道運行與在罐中的MANIFEST.MF
文件中引用主類的JAR的方式很簡單:爲什麼我能夠直接從bash執行JAR?
java -jar theJar.jar
我用這個啓動Fabric3服務器(包含在標準發行版中的bin/server.jar
)。我注意到,當我從分發tarball解壓縮它時,它被標記爲可執行文件。一時興起,我想
./server.jar
從我bash
命令行(bash
4.1.5版本在Ubuntu 10.10),你瞧,服務器啓動時,如果我輸入了正常java -jar ...
命令。 JAR的結構像一個普通的JAR;我在它上面做了一個head
,並且前幾個字節中沒有#!
命令,所以bash
不應該神奇地知道用它啓動Java VM,對吧?或者這個bash
版本增加了以正確的清單啓動JAR的能力?查詢頭腦想知道...
是的,就是這樣。您可以在Ubuntu 10.10上運行update-binfmts --display查看安裝了處理程序的列表。 – kkress 2010-11-11 23:01:45
粗糙,顯然我可以execure從命令行^^ LLVM字節碼。 – SingleNegationElimination 2010-11-11 23:09:05
好的,太棒了!感謝科學。 – aarestad 2010-11-12 23:09:22