Java Web Start notes

July 2, 2017

Short explanation:

You probably came here from one of my Java Applet web pages, which has a link at the top to run as a Java Web-Start Application.

When you click the link, your browser downloads a "JNLP" file from my web server. If you have Java installed on your computer, it should recognize the "JNLP" file association and run using Java Web Start.

 

Long explanation:

Many web browsers will no longer run plug-ins, due to security concerns. This means they won't run Java Applets. Motivated by the May 21, 2017 expiration of my code-signing certificate, I have converted my eleven Java Applets to run as Java Applications under Java Web Start.

You must install Java on your computer to be able to run Web Start applications. Java can be downloaded from here:
https://java.com/en/download/.
You should always run the latest Java version, and keep it updated. Running a non-current Java version is not recommended because there may be uncorrected security vulnerabilities. Unfortunately older computers may not be able to run the latest Java version. In particular, Windows XP will not run Java 8, so Java is not recommended on a Windows XP computer.

When you click on one of my Web Start links, e.g.:
Counter-rotation Spirals Illusion:
you are requesting a "JNLP" file from my server. This is an XML (text) file that contains instructions on where to find the Java code, and how to run it. It plays the same role as the <applet> HTML tag that tells a web browser how to run a Java Applet.

Here's what SpiralsApp.jnlp looks like as of May 21, 2017:

<jnlp spec="1.0+"
    codebase="http://dogfeathers.com/java/spirals"
    href="SpiralsApp.jnlp">
  <information>
    <title>Counter-Rotating Spirals Illusion</title>
    <vendor>Mark Newbold</vendor>
    <homepage href="http://dogfeathers.com/java/spirals.html"/>
    <offline-allowed/>
  </information>
  <resources>
    <j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="SpiralsApp.jar" main="true" />
  </resources>
  <application-desc main-class="SpiralsApp">
    <argument>speed=60</argument>
    <argument>ctls=y</argument>
    <argument>size=350</argument>
  </application-desc>
  <update check="background"/>
</jnlp>
The actual Java code (plus any necessary data or image files) is contained in "SpiralsApp.jar", which is a signed JAR file.

When you download the .jnlp file, your browser will hopefully invite you to "open" it with "Java(TM) Web Start Launcher". If your browser doesn't invite you to open it in Web Start, you may have to save it to your hard drive and then open it manually

Documentation:

Each of my original Java Applets is/was attached to an explanatory web page. Now, with Web Start, the explanations are not as readily available since Web Start applications run stand-alone (not in a web page).

To help with this, all my applications have an "Info" button. Clicking "Info" in the application will get you a popup window with a "Go" button you can click for the relevant web page. If "Go" doesn't work, you can copy the URL to your clipboard and paste it in your browser.

Security:

All my applications except for one (the Hypercube V2 OpenGL version) run with "sandbox" permissions, which severely restricts what they can do on your computer. For example, they cannot read/write files.

The OpenGL version of the Hypercube V2 application requires full permissions because it has to install some 3rd-party libraries/DLL's to gain access to the OpenGL graphics system. By the way, I had to re-package the 3rd party stuff and sign it with my own code-signing certificate, since it has been over a year since the 3rd-party certificate expired. Some info about that here:
http://forum.jogamp.org/code-signing-cert-expired-td4036295.html

Offline:

The first time you run a Web Start application, Java caches the files (unless you disabled cacheing) so they don't have to be downloaded each time you run the application. In fact, once the application is cached, you can run it without needing an internet connection, as follows: Start the Java Control Panel. On the "General" tab, in the "Temporary Internet Files" section, click the "View" button. Select the application from the list and click the Green "Run" button. You can even create a desktop shortcut to the cached application.

Problems:

Sometimes problems can be resolved by clearing caches.

To clear the Web Start cache: Start the Java Control Panel. On the "General" tab, in the "Temporary Internet Files" section, click the "Settings" button then click the "Delete Files" button. Check all the checkboxes, then click "OK".

Before downloading the JNLP file, if you want to be sure you are getting the latest version, you can clear your Browser cache.

If you are still having problems, you should enable the Java Console, which is likely to provide detailed information about the problem. Start the Java Control Panel. On the "Advanced" tab, click the "Show Console" radio button and click "OK".

Please email me with details if you are having a problem. I may not fix it right away since my code-signing certificate has expired (and it is expensive to renew), but I'll follow up at some point.


<Dogfeathers Home Page>   <Mark's Home Page>   <Mark's Java Stuff>
Email: Mark Newbold
This page URL: http://dogfeathers.com/java/webstart.html