2013-04-02 1 views
0

this jnlp 어플리케이션을 실행하려고하고 있습니다. 수 내가 (JNLP 파일을 실행하면 (자), AccessControlException가 슬로우됩니다.

java.lang.ExceptionInInitializerError 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:399) 
    at java.lang.Class.newInstance0(Class.java:370) 
    at java.lang.Class.newInstance(Class.java:322) 
    at com.sun.javafx.applet.FXApplet2.init(FXApplet2.java:63) 
    at com.sun.deploy.uitoolkit.impl.fx.FXApplet2Adapter.init(FXApplet2Adapter.java:207) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.net.useSystemProxies" "write") 
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:364) 
    at java.security.AccessController.checkPermission(AccessController.java:560) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 
    at java.lang.System.setProperty(System.java:783) 
    at ensemble.Ensemble2.<clinit>(Ensemble2.java:77) 
    ... 10 more 

내가 자바 컨트롤 패널 (OSX 10.8.3)의 보안 설정을 변경했지만, 그들은 비활성화 된 것 같습니다 내가 그들을 수정할 수 없습니다 : 그러나,이 보안 예외를 수신 유지 "브라우저에서 Java 컨텐츠 사용"옵션을 선택하십시오. 그러나 적용을 클릭하면 재설정됩니다). 이는 다음 그림과 같습니다

Security tab in the Java Control Panel

자바 보안 관리자를 우회하고 JNLP 어플리케이션을 실행 할 수있는 또 다른 메커니즘이 있는가?

는 업데이트 :

자바를 다시 설치 한 후 드디어 Java 컨트롤 패널에서 보안 옵션을 (내가 특별한 일을 다만 처음부터 다시 설치하지 않았다)를 변경 할 수 있었다. 불행히도 jnlp application을 실행하면 오류가 표시되지 않고 자동으로 종료됩니다. 이 문제는 내가 jdk 1.8을 사용하고 있다는 사실과 관련 될 수 있습니다. (jnlp 어플리케이션은 javafx가 필요합니다.) 그리고 그것은 단지 미리보기 버전입니다. (OSX는 요즘 많은 Java를 좋아하지 않습니다. 내 최고의 추측하지만 나는 완전히 확신 할 수 없다. 이것에 대한

+0

JaNeLA 도구로 파일 검사 –

답변

0

가능한 이유는 :

  1. 나는 Mac에서 자바 7은 아직 안정되지 들었습니다.
  2. 기본적으로 JNLP 파일은 "샌드 박스"에서 실행되어 악의적 인 코드가 시스템에서 혼란을 야기하지 않도록합니다. 이 샌드 박스는 로컬 파일 시스템 및 로컬 네트워크에 대한 액세스를 제한합니다. 나는 시스템 속성도 제한되어 있다고 생각하고, 앱이 그것들에 쓰려고하는 것처럼 보입니다. 무제한 액세스를 허용하려면 JAR 파일에 서명하고 JNLP 파일을 구성해야합니다. <security><all-permissions/></security>
관련 문제