이렇게 하면 컴파일시 한글 오류를 잡을 수 있다.
2. '기본클래스를 찾거나 로드 할 수 없습니다.' 라는 메세지가 뜰 때:
package내에서 작성된 class 파일을 실행시키는 경우에는
java 패키지명.파일명
으로 실행해야 되는데 실행 할 때 클래스 파일이 있는 상위 폴더 에서 실행해야 된다.
이렇게 패키지 폴더가 보이는 위치에서 실행하면 되겠다. |
만약 이렇게 해도 실행이 되지 않는다면 환경변수 설정에서 CLASSPATH를 설정해 주면 된다. CLASSPATH 설정시 변수로 .(점)을 찍어줘야 실행이 된다.
이런 식으로 환경 변수를 추가해주면 되는 데 .(점)이 없다면 꼭 .(점)을 추가해주세요 아래 java위치는 본인 컴퓨터에 맞춰 설정 하시면 됩니다. |
3. java.security.AccessControlException access denied 처리법
JApplet에서 파일 읽기/쓰기 관련 에러였는데 보안문제이다.
java.policy의 보안을 손 봐야 된다.
본인 컴퓨터에 자바가 설치된 폴더(편의상 C 드라이브로 설정했습니다)
C://Java/jdk1.8.1_*/lib/security/java.policy를 열어서
다음의 색칠된 부분을 추가해준다. (열때 MS-Word로 열면 된다.)
// Standard extensions get all permissions by default
grant codeBase "file:${{java.ext.dirs}}/*" {
permission java.security.AllPermission;
};
grant {
permission java.io.FilePermission
"<<ALL FILES>>", "read, write";
permission java.net.SocketPermission
"211.60.219.142:7778", "connect,resolve,listen,accept";
};
// default permissions granted to all domains
grant {
// Allows any thread to stop itself using the java.lang.Thread.stop()
// method that takes no argument.
// Note that this permission is granted by default only to remain
// backwards compatible.
// It is strongly recommended that you either remove this permission
// from this policy file or further restrict it to code sources
// that you specify, because Thread.stop() is potentially unsafe.
// See "http://java.sun.com/notes" for more information.
permission java.lang.RuntimePermission "stopThread";
// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "localhost:1024-", "listen";
// "standard" properies that can be read by anyone
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
permission java.security.AllPermission;
};
저장 후 종료
JApplet에서 파일 읽기/쓰기 관련 에러였는데 보안문제이다.
java.policy의 보안을 손 봐야 된다.
본인 컴퓨터에 자바가 설치된 폴더(편의상 C 드라이브로 설정했습니다)
C://Java/jdk1.8.1_*/lib/security/java.policy를 열어서
다음의 색칠된 부분을 추가해준다. (열때 MS-Word로 열면 된다.)
// Standard extensions get all permissions by default
grant codeBase "file:${{java.ext.dirs}}/*" {
permission java.security.AllPermission;
};
grant {
permission java.io.FilePermission
"<<ALL FILES>>", "read, write";
permission java.net.SocketPermission
"211.60.219.142:7778", "connect,resolve,listen,accept";
};
// default permissions granted to all domains
grant {
// Allows any thread to stop itself using the java.lang.Thread.stop()
// method that takes no argument.
// Note that this permission is granted by default only to remain
// backwards compatible.
// It is strongly recommended that you either remove this permission
// from this policy file or further restrict it to code sources
// that you specify, because Thread.stop() is potentially unsafe.
// See "http://java.sun.com/notes" for more information.
permission java.lang.RuntimePermission "stopThread";
// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "localhost:1024-", "listen";
// "standard" properies that can be read by anyone
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
permission java.security.AllPermission;
};
저장 후 종료
....
댓글 없음:
댓글 쓰기