http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html#FilePermission
애플릿은 제약사항이 있다
크게 네트워크 접근과 파일 접근에 대한 제약이다
특히 제약사항이 발생하면 아래와 같은 exception을 발생시킨다
java.security.AccessControlException: access denied (java.io.FilePermission)
java.security.AccessControlException: access denied (java.net.SocketPermission)
그럴 경우는
애플릿이 실행되는 jre의 java.policy파일을 다음과 같이 추가하면 된다
java.io.FilePermission 관련일 경우는
permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
java.net.SocketPermission 관련일 경우는
permission java.net.SocketPermission "localhost:1024-", "listen,connect,accept,resolve";
아니면 모두를 허용하려면
permission java.security.AllPermission;을 해주면 위의 두개를 포함한 모든 제약을 제거해 준다
추가 참고자료
http://www.javastudy.co.kr/docs/jhan/javaadvance/win.html
또한 다른 해결방법으로는 파일을 배포하는 방법인데
user.home디렉토리 보통은 C:\Documents and Settings\Administrator
의 폴더에 .java.policy파일을 두면 된다.
.java.policy파일을 만드는 방법은 policytool을 이용하면 된다
http://blog.naver.com/berimbau?Redirect=Log&logNo=130008098824
java.lang.RuntimePermission 에러 : 파일 경로를 넣어도 되고 해당 경로의 *을 넣어도 된다
grant codeBase "file:C:\\<your-file-name>" {
permission java.security.AllPermission;
};
'java' 카테고리의 다른 글
swap 메모리 (0) | 2017.02.15 |
---|---|
UML 다이어그램 종류 구조 7개, 행위 7개 총 14개 (2) | 2017.02.13 |
Exception은 OCP(Open Closed Principle)을 위배한다. (0) | 2016.10.18 |
jvm 버그 테스트 하는방법! (java heap memory) (0) | 2016.10.17 |
jps 사용법 (0) | 2016.10.14 |