2012-12-11 4 views
2

자바 프로그램의 클래스 경로에있는 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

관련 문제