2. 컴퓨터 이야기/소프트웨어

자바 애플릿 구동시 access denied java.io.FilePermission 오류

래빗 크리스 2009. 4. 9. 15:10

아래 그림과 같이, java.security.AccessControlException: access denied(java.io.FilePermission) 오류 발생시..



Java Applet 이 실행될 때, 자바 파일에 대한 접근 권한이 없어서 오류가 발생할 수 있습니다.
이때 아래와 같이 policytool 을 이용하여 조치하면 됩니다.

policytool 은 Java 에서 지원하는 프로그램으로 JRE(Java Runtime Edition) 에는 없고,
JDK(Java Development Kit) 에 존재하므로 JDK 를 먼저 설치하여야 합니다.
해당 Java Applet 이 운영되는 자바 버전에 맞는 JDK 를 먼저 다운로드 받으세요.
JDK 다운로드 받으려면 여기를 클릭하세요.
오류가 발생하는 프로그램이 정상적으로 작동하는 버전의 JDK 를 받아야 함을 다시 한번 강조합니다.
JDK 다운로드와 설치는 이곳에서 설명하지 않습니다.

준비가 되었다면 윈도우 보조프로그램의 명령 프롬프트를 실행합니다.
명령 프롬프트가 시작되면 폴더 위치가 "C:\Documents and Settings\rabbitchris" 와 유사한 곳으로 옮겨질 것입니다.
이곳에서 예를 드는 'rabbitchris' 는 설명을 하기 위해 생성된 사용자 아이디입니다.

JDK 가 설치되어 있는 경우 policytool 을 이용합니다.

명령 프롬프트 프로그램에서 policytool 을 실행하면 됩니다.

실행 파일이 없다는 메시지가 나오면,

JDK 가 설치된 폴더의 "bin" 폴더에서 policytool 을 실행하면 됩니다.

JDK 가 설치되지 않았다면 JDK 를 먼저 설치하세요.

(참고로 JDK 는 Java Development Kit 입니다. Windows 용 1.4.2 버전이면 어떤 하위 버전이라도 상관 없습니다.)

 

다음은 .java.policy 파일을 생성하여 설정하는 방법을 설명합니다.

아래 그림과 같이 policytool 을 실행합니다. 다음 그림을 보세요.


 


아래 그림과 같이, '정책 항목 추가' 버튼을 클릭하고 다음 그림을 보세요.


 

아래 그림과 같이 '사용 권한 추가' 버튼을 클릭하고 다음 그림을 보세요.


 

아래 그림과 같이 왼쪽 선택 박스에서,

FilePermission, <>, read, write, delete, execute 등을 차례로 선택하고 '확인' 버튼을 클릭합니다.

다음 그림을 보세요.



아래 그림과 같이 FilePermission 에 대한 설정값이 표시됩니다.

'완료' 버튼을 클릭하고 다음 그림을 보세요.


 

아래 그림과 같이 표시된 내용을 확인하고 다음 그림을 보세요.


 

아래 그림과 같이, '파일' 메뉴의 '저장' 메뉴를 클릭하고 다음 그림을 보세요.



다음 그림과 같이 저장 되었음을 알 수 있습니다. '확인' 버튼을 클릭하세요.

 


이상입니다.