title: Java jnlp application blocked by Security settings
body: <p>I have an enterprise java application that has plenty of jars that are downloaded to the client's jvm cache by a jnlp file. When I start the application I get the following stack trace on Java Console:</p>
  
  <pre><code>        Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
  at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
  at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
  at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
  at java.awt.event.InvocationEvent.dispatch(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
         Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
  at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
  at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
  at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
  at java.awt.event.InvocationEvent.dispatch(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
      #### Java Web Start Error:
      #### The Java security settings have prevented this application from running. You may change this behavior in the Java Control Panel.
  </code></pre>
  
  <p>My JNLP File is like the following with some censored descriptions:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;jnlp spec="1.0+" codebase="http://10.100.10.9/ikarusdelhitest/" href="ikarus.jnlp"&gt;
  &lt;information&gt;
      &lt;title&gt;ikarus&lt;/title&gt;
      &lt;vendor&gt;my company&lt;/vendor&gt;
      &lt;homepage href="http://www.mycompanyaddress.com" /&gt;
      &lt;description&gt;My enterprise java ee swing application&lt;/description&gt;
      &lt;icon href="ikarus.jpg" /&gt;
      &lt;offline-allowed /&gt;
  &lt;/information&gt;
  &lt;security&gt;
      &lt;all-permissions /&gt;
  &lt;/security&gt; 
  &lt;resources&gt; 
      &lt;jar href="jars/ikarus/ikarusClient.jar" /&gt;
      &lt;jar href="jars/ikarus/ikarusDelegators.jar" /&gt;
      &lt;jar href="jars/ikarus/clientRules.jar" /&gt;
      &lt;jar href="jars/ikarus/ruleImps.jar" /&gt;
      &lt;jar href="jars/ikarus/ikarusUtil.jar" /&gt;
      &lt;jar href="jars/ikarus/ikarusResources.jar" /&gt;
      &lt;jar href="jars/ikarus/domain.jar" /&gt;
      &lt;jar href="jars/ikarus/domain_repository.jar" /&gt;
      &lt;jar href="jars/ikarus/domain_service.jar" /&gt;
      &lt;jar href="jars/ikarus/app_repository.jar" /&gt;
      &lt;jar href="jars/ikarus/app_service.jar" /&gt;
      &lt;jar href="jars/ikarus/infrastructure.jar" /&gt;
      &lt;jar href="jars/ikarus/integration_domain.jar" /&gt;
      &lt;jar href="jars/jboss_ejb_auth/ejb3-persistence.jar" /&gt;
      &lt;jar href="jars/jboss_ejb_auth/jboss-ejb3x.jar" /&gt;
      &lt;jar href="jars/jboss_ejb_auth/jbossall-client.jar" /&gt;
      &lt;jar href="jars/jasper/commons-beanutils-1.8.0.jar" /&gt;
      &lt;jar href="jars/jasper/commons-collections-3.2.1.jar" /&gt;
      &lt;jar href="jars/jasper/commons-digester-1.7.jar" /&gt;
      &lt;jar href="jars/jasper/commons-logging-1.1.jar" /&gt;
      &lt;jar href="jars/jasper/iText-2.1.0.jar" /&gt;
      &lt;jar href="jars/jasper/jasperreports-3.6.0.jar" /&gt;
      &lt;jar href="jars/jasper/poi-3.2-FINAL-20081019.jar" /&gt;
      &lt;property name="jnlp.localization" value="Delhi"/&gt;
  &lt;/resources&gt;
  &lt;application-desc main-class="com.celebi.ikarus.main.Ikarus" /&gt;
  </code></pre>
  
  <p></p>
  
  <p>ALso note that I get some different exception details on the more information panel:</p>
  
  <pre><code>com.sun.deploy.security.BlockedException: The Java security settings have prevented this application from running. You may change this behavior in the Java Control Panel.
  at com.sun.deploy.security.SandboxSecurity.showBlockedDialog(Unknown Source)
  at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
  at com.sun.javaws.security.AppPolicy.addPermissions(Unknown Source)
  at com.sun.jnlp.JNLPClassLoader.getTrustedCodeSources(Unknown Source)
  at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(Unknown Source)
  at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath$JarLoader.&lt;init&gt;(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
  at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(Unknown Source)
  at java.security.SecureClassLoader.defineClass(Unknown Source)
  at java.net.URLClassLoader.defineClass(Unknown Source)
  at java.net.URLClassLoader.access$100(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(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)
  Caused by: java.lang.SecurityException: Invalid Permissions value: all-permissions  
  at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
  at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
  ... 39 more
  </code></pre>
  
  <p>I dont have any security restrictions for security on java control panel. It is at the medium level as follows: <img src="https://i.stack.imgur.com/GgItP.jpg" alt="here"></p>
  
  <p>Thanks for any help</p>
  
  <p><strong>New Edit: I got more explanatory stacktrace when I tried to run this jnlp from a jvm 1.6 machine as follows:</strong></p>
  
  <pre><code>java.lang.NoClassDefFoundError: javax/ejb/EJBAccessException
  at java.lang.Class.getDeclaredMethods0(Native Method)
  at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
  at java.lang.Class.getMethod0(Unknown Source)
  at java.lang.Class.getMethod(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)
  Caused by: java.lang.ClassNotFoundException: javax.ejb.EJBAccessException
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  </code></pre>