I am developing a rcp application which is distributed as a web start application. It is working at java 7u65 but after upgrading to 7u72, it is not working anymore. Application is signed with a trusted certificate and permissions: all-permissions and codebase: * attributes are added to manifest file. And jnlp template file is signed at launcher jar file. At log file following error is printed:
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 And the jnlp launcher file is:
<?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>
Thanks
After a weeks pain!
<property name="jnlp.eclipse.security" value="osgi"/>
Adding this property worked for us.
jnlp is our prefix, so in your example you just need eclipse.security as the property name.
So the below should do it.
<property name="eclipse.security" value="osgi"/>
Please see for reference. https://www.eclipse.org/forums/index.php/m/1454553/#msg_1454553