2012-04-15 2 views
4

RMI 애플리케이션이 있으므로 정책 파일을 사용해야합니다. 나는 일식에서 내 응용 프로그램을 실행 아무 문제가보안 정책 파일 및 jar

grant { 
    permission java.security.AllPermission; 
}; 

:

내 정책 파일 (conf.txt) 간단합니다. -Djava.security.policy = conf.txt를 VM 인수에 추가했습니다.

jar 파일을 작성하고 싶습니다. 나는 eclipse에서 Runnable JAR 파일로 만들었고, 실행하는데 문제가있다. 나는 이런 식으로 그것을 실행하려고 :

java -Djava.security.policy=C:\Users\myuser\proj\conf.txt -jar C:\Users\myuser\proj\proj.jar 

나는 -Djava.security.policy의 옵션없이 같은 결과를 얻을.

내 코드 :

System.setProperty("java.security.policy", "./conf.txt"); 
... 
if (System.getSecurityManager() == null) { 
      System.setSecurityManager(new SecurityManager()); 
     } 

가 어떻게이 작업을 할 수 있습니까? , 우선 들어

java -jar myprog.jar 
+1

여기서 질문이 무엇입니까? 코드에서 정책을 설정 중이므로 명령 줄에 인수가 필요하지 않습니다. -Djava.security.debug = access로 실행하면, 무슨 일이 일어나고 있는지 정확히 알 수 없습니다. – EJP

답변

2

을 사용하면 코드에서 System.setProperty("java.security.policy", "./conf.txt");을 제거 : 난 그냥 -Djava.security.policy의를 통과하지 않은 경우 그것은 더 나은 것입니다. 명령 줄에서 설정 한 값보다 우선하며 그 중 하나에 전체 경로가 있었고 작동했을 수 있습니다. 어떤 경우 든 코드에 System.setProperty이 있으면 해당 명령 행의 효과를 테스트하지 않습니다.

+0

예, 그럴 경우 나중에 알아 냈습니다. 감사합니다. 나는 자바에 대한 경험이 너무 많지 않고 프로젝트 하나를 끝내기 만하면된다. :) – wisent