2012-12-11 29 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

相关问题