6 Replies Latest reply on Jul 25, 2012 10:16 AM by 951440

    Splash screen and Update

      Hi, can any of you gurus tell me why is this JNLP file failing to show my custom splash screen image?
      <?xml version="1.0" encoding="utf-8"?>
      <jnlp spec="6.0+" xmlns:jfx="http://javafx.com" codebase="http://mysqlserver/ceba/" href="CEBA.jnlp">
          <vendor>My arbitrary vendor</vendor>
          <description>My arbitrary app description.</description>
           <shortcut online="true">
                  <menu submenu="CEBA"/>
           <icon kind="splash" href="images/splash.gif"/>
           <icon href="images/Logo128x128.png" width="128" height="128"/>
           <icon kind="shortcut" href="images/ikonica.ico" width="16" height="16"/>
          <jfx:javafx-runtime version="2.0+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
          <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
          <jar href="ceba.jar" size="1227526" download="eager" />
          <jar href="lib/ScenicView.jar" size="522647" download="eager" />
          <!-- some lib resources ommited for the purpose of clarity-->
          <jar href="lib/xml-apis.jar" size="227162" download="eager" />
        <jfx:javafx-desc  width="1000" height="700" main-class="app.App"  name="CEBA" />
        <update check="always" policy="always"/>
      Note that all image files are accessible on the (LAN) Web server, and I do know that when the first time app is web-started, default splash must appear. However, no matter what I do, I always get the good old "Java 7" splash screen. I've even tried different image formats (png, gif, jpg). Any ideas?

      Another thing is the updating. I would like to have incremental/selective updates. That is, if I change only my main JAR (ceba.jar), the clients should download only that JAR, and nothing else. But, when I do this, I get some strange runtime exceptions during the "Loading" phase with no helpful meaning. What I have to do then is to upload my whole application to the server again, and than clients have to download the whole app all over again, even though only one JAR is actually different. Is this behavior result of my mistake(s), or just a "feature" of JWS?


      Edited by: scekics on 27.06.2012. 16.09
        • 1. Re: Splash screen and Update

          I suggest you to not waste your time with a splash screen. This one is so badly managed that there is no point to add one.
          Why? Simply because this one will disappear a long time before the first screen of you application appears. It's really a useless splash screen. isnt it?


          • 2. Re: Splash screen and Update
            What version of JRE you are using?

            Enable full trace details and see if it gives you any clue:
            • 3. Re: Splash screen and Update
              Hi Claude,
              Your point is absolutely valid, the splash screen does disappear much sooner than it should. But, since I can't turn it off, and there's an "easy" way to replace the default splash image with my own, which will enhance the user experience a little bit, then - why not?
              • 4. Re: Splash screen and Update
                Hello igor,

                Currently, the latest GA, 7u5. I've tried with the tracing thing - it didn't help. Only one exception (with two prev. lines):
                network: Wrote URL http://mysqlserver/ceba/lib/jcommon-1.0.15.jar to File C:\Documents and Settings\Slavko Scekic\Local Settings\Application Data\Sun\Java\Deployment\cache\6.0\58\64138dfa-6af049c3-temp
                network: Disconnect connection to http://mysqlserver/ceba/lib/jcommon-1.0.15.jar
                java.security.KeyStoreException: WIExplorerMy not found
                     at java.security.KeyStore.getInstance(Unknown Source)
                     at com.sun.deploy.services.WPlatformService$1.run(Unknown Source)
                     at java.security.AccessController.doPrivileged(Native Method)
                     at com.sun.deploy.services.WPlatformService.getBrowserClientAuthKeyStore(Unknown Source)
                     at sun.plugin2.applet.context.InitialJNLPExecutionContext.getBrowserClientAuthKeyStore(Unknown Source)
                     at sun.plugin2.main.client.DisconnectedExecutionContext.getBrowserClientAuthKeyStore(Unknown Source)
                     at sun.plugin2.applet.Applet2BrowserService.getBrowserClientAuthKeyStore(Unknown Source)
                     at com.sun.deploy.security.X509DeployKeyManager.<init>(Unknown Source)
                     at com.sun.deploy.net.protocol.https.Handler$Initializer$1.run(Unknown Source)
                     at java.security.AccessController.doPrivileged(Native Method)
                     at com.sun.deploy.net.protocol.https.Handler$Initializer.<clinit>(Unknown Source)
                     at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
                     at java.net.URL.openConnection(Unknown Source)
                     at com.sun.deploy.util.SecurityBaseline.checkForBaselineUpdates(Unknown Source)
                     at com.sun.deploy.util.SecurityBaseline.access$300(Unknown Source)
                     at com.sun.deploy.util.SecurityBaseline$1.run(Unknown Source)
                     at java.lang.Thread.run(Unknown Source)
                Caused by: java.security.NoSuchAlgorithmException: WIExplorerMy KeyStore not available
                     at sun.security.jca.GetInstance.getInstance(Unknown Source)
                     at java.security.Security.getImpl(Unknown Source)
                     ... 17 more
                • 5. Re: Splash screen and Update
                  Don't know why, but these two lines set thing all right (that is, the splash screen is showing as intended):
                  <homepage href="http://mysqlserver/ceba/"/>
                  <application-desc main-class="app.App"/>
                  Also, I've put the full path in the href attribute, like this:
                  Don't know if all three steps are necessary, and don't care. :) Cheers!

                  Edited by: scekics on 24.07.2012. 16.25
                  • 6. Re: Splash screen and Update
                    Got same problem, here´s the workaround.

                    <icon kind="splash" href="images/splash.gif"/> doesn´t work, delete it.

                    Add following lines to your jnlp:

                    <property name="osgi.instance.area" value="@user.home/<your_app>"/>
                    <property name="osgi.install.area" value="@user.home/<your_app>/osgi"/>
                    <property name="osgi.configuration.area" value="@user.home/<your_app>"/>
                    <property name="osgi.splashPath" value="platform:/base/plugins/<your_bundle_that_contains_splash.bmp>"/> (image have to be in the root of the jar)


                    <application-desc main-class="app.App"/>