2012-12-11 52 views
2

我一直認爲你需要在java程序的類路徑中的jar中設置執行權限。但我今天發現,實際上你所需要的只是讀取權限。乍一看我有點驚訝,但我認爲這很有意義,因爲JVM只需要讀取類文件(jvm字節碼)並將其解釋/編譯成OS可運行的字節碼。我在正確的軌道上嗎?爲什麼你不需要在類路徑中的jar中執行權限

+0

即使.jar文件包含本機可執行文件(它們沒有),它們仍然不需要執行權限,因爲它們只是簡單的zip歸檔文件。其他一些程序(如Java VM)需要首先提取內容以對它們執行任何操作。 – melpomene

回答

2

因爲罐子沒有被執行。

java可執行文件(或javaw)是什麼需要執行位。它只是讀取其他文件(.jar或.class)。

+1

+1;我還要補充的是,對於任何解釋型語言,這都是一樣的 - 你不需要對'myprogram.py'執行權限來運行'python myprgoram.py'。 'python'可執行文件只需要能夠讀取程序文件。 – apsillers

+0

是的,這就是爲什麼你有apparmor – KIC

相關問題