2014-10-16 3 views
1

웹 시작 응용 프로그램으로 배포되는 rcp 응용 프로그램을 개발 중입니다. 그것은 Java 7u65에서 작동하지만 7u72로 업그레이드 한 후에 더 이상 작동하지 않습니다. 응용 프로그램은 신뢰할 수있는 인증서로 서명되며 사용 권한 : all-permissions 및 codebase : * 특성이 매니페스트 파일에 추가됩니다. jnlp 템플릿 파일은 런처 jar 파일에서 서명됩니다. 로그에서 파일을 다음과 같은 오류가 인쇄되어 있습니다 :Java 7u72로 업그레이드 한 후 웹 시작 응용 프로그램이 시작되지 않음

java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write") 
      at java.security.AccessControlContext.checkPermission(Unknown Source) 
      at java.security.AccessController.checkPermission(Unknown Source) 
      at java.lang.SecurityManager.checkPermission(Unknown Source) 
      at java.lang.SecurityManager.checkPropertiesAccess(Unknown Source) 
      at java.lang.System.getProperties(Unknown Source) 
      at org.eclipse.equinox.launcher.Main.takeDownSplash(Main.java:1942) 
      at org.eclipse.equinox.launcher.Main$SplashHandler.run(Main.java:109) 
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:183) 
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
      at java.lang.reflect.Method.invoke(Unknown Source) 
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) 
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 
      at org.eclipse.equinox.launcher.WebStartMain.basicRun(WebStartMain.java:79) 
      at org.eclipse.equinox.launcher.Main.run(Main.java:1311) 
      at org.eclipse.equinox.launcher.WebStartMain.main(WebStartMain.java:57) 
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
      at java.lang.reflect.Method.invoke(Unknown Source) 
      at com.sun.javaws.Launcher.executeApplication(Unknown Source) 
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source) 
      at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) 
      at com.sun.javaws.Launcher.run(Unknown Source) 
      at java.lang.Thread.run(Unknown Source) 

I 그리고 JNLP의 실행 파일은 다음과 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp 
    spec="1.0+" 
    codebase="http://demo:8080/app" 
    href=""> <!-- Burasi bos olmali !!! URL to the site containing the jnlp application. It should match the value used on export. Href, the name of this file --> 
    <information> 
    <title> Title </title> 
    <vendor>Company</vendor> 
    <homepage href="" /> 
    <description>Product name</description> 
    <icon kind="splash" href="splash.bmp"/> 
    </information> 

    <!--request all permissions from the application. This does not change--> 
    <security> 
    <all-permissions/> 
    </security> 

    <!-- The name of the main class to execute. This does not change--> 
<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain"> 
    <argument>-showsplash</argument> 
    </application-desc> 
    <resources> 
     <j2se version="1.6+"/> 
     <jar href="plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar"/> 
     <extension name="wrap feature" href="features/app.feature_jnlp.jnlp" /> 
     <!-- OSGI setup --> 
     <property name="osgi.instance.area" value="@user.home/instance/"/> 
     <property name="osgi.configuration.area" value="@user.home/config/"/> 
     <property name="osgi.install.area" value="@user.home/"/> 
     <property name="eclipse.product" value="app.id"/> 
     <property name="eclipse.application" value="app"/> 
     <property name="osgi.splashPath" value="platform:/base/plugins/app"/> 
     <property name="osgi.nl" value="tr"/> 
    </resources> 

</jnlp> 

감사

답변

1

주 통증 후를!

<property name="jnlp.eclipse.security" value="osgi"/> 

이 속성을 추가하면 우리에게 효과적입니다.

jnlp는 우리 접두사이므로, 예제에서는 eclipse.security가 속성 이름으로 필요합니다.

따라서 아래 사항을 준수해야합니다.

<property name="eclipse.security" value="osgi"/> 

참조하시기 바랍니다. https://www.eclipse.org/forums/index.php/m/1454553/#msg_1454553

+0

외부 링크에 의존하지 않고 답변을 완전하고 이해할 수 있어야합니다. 실제 답변에는 링크 내용을 게시하십시오. – Ajean

+0

안녕하세요, 공정한 시점입니다. 나는 거기에 코드를 가지고 있었지만 그것을 코드로 표시하지 않았기 때문에 "숨겨진"것이었다. 지금 업데이트되었습니다. – Chris

+0

고마워요. 이 문제로 많은 시간을 보냈고 그 이유를 알 수 없습니다. –