Deploying a Java Web Start Application
To deploy your Java Web Start application, first compile the source code, package it as a JAR file, and sign the JAR file.
Java Web Start applications are launched by using the Java Network Launch Protocol (JNLP). Hence, you must create a JNLP file to deploy your application.
If you are unfamiliar with these deployment technologies, review the Deployment In-Depth lesson before proceeding.
Here are some step-by-step instructions to package and deploy your application. The Dynamic Tree Demo application is used to illustrate the deployment of Java Web Start applications. You might want to set up build scripts to execute some of the following steps.
Click the following Launch button to launch the Dynamic Tree Demo application.
- Compile your application's Java code and make sure that all class files and resources such as images are in a separate directory.
In the Dynamic Tree Demo application, the compiled classes are placed in the
- Create a text file that contains any JAR file manifest attributes that your applet needs.
For the DynamicTree Demo applet, create a file named
mymanifest.txt in the
build/classes directory, and add the
Codebase , and
Application-Name attributes. The applet does not require access to the user's system resources, so use
sandbox for the permissions. Use the domain from which you will load the sample for the code base, for example,
myserver.com . Add the following attributes to the
Permissions: sandbox Codebase: myserver.com Application-Name: Dynamic Tree Demo
- Create a JAR file containing your application's class files and resources. Include the manifest attributes in the
mymanifest.txtfile that you created in the previous step.
For example, the following command creates a JAR file with the class files in the
build/classes/webstartComponentArch directory and the manifest file in the
% cd build/classes % jar cvfm DynamicTreeDemo.jar mymanifest.txt webstartComponentArch
See the Packaging Programs in JAR Files lesson to learn more about creating and using JAR files.
- Sign the JAR file for your applet and time stamp the signature. Use a valid, current code signing certificate issued by a trusted certificate authority to provide your users with assurance that it is safe to run the applet.
See the Signing JAR Files lesson for more information.
If you want to use a signed JNLP file for security, create the JNLP file as described in the next step and include it in the JAR file before the JAR file is signed. See Signed JNLP Files in the Java Platform, Standard Edition Deployment Guide for information.
- Create a JNLP file that describes how your application should be launched.
Here is the JNLP file that is used to launch the Dynamic Tree Demo application. Permissions are not requested for this application so it runs in the security sandbox. The source for dynamictree_webstart.jnlp follows:
<?xml version="1.0" encoding="UTF-8"?> <jnlp spec="1.0+" codebase= "https://docs.oracle.com/javase/tutorialJWS/samples/deployment/webstart_ComponentArch_DynamicTreeDemo" href="dynamictree_webstart.jnlp"> <information> <title>Dynamic Tree Demo</title> <vendor>Dynamic Team</vendor> </information> <resources> <!-- Application Resources --> <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/> <jar href="DynamicTreeDemo.jar" main="true" /> </resources> <application-desc name="Dynamic Tree Demo Application" main-class= "webstartComponentArch.DynamicTreeApplication" width="300" height="300"> </application-desc> <update check="background"/> </jnlp>
Structure of the JNLP File describes the JNLP file syntax and options.
href attributes are optional when deploying Java Web Start applications that will run on at least the Java SE 6 update 18 release or later. You must specify the
href attributes when deploying Java Web Start applications that will run with previous releases of the Java Runtime Environment software.
- Create the HTML page from which your application will be launched. Invoke Deployment Toolkit functions to deploy the Java Web Start application.
In the example, the Dynamic Tree Demo application is deployed in JavaWebStartAppPage.html.
<a href="/absolute path to JNLP file/dynamictree_webstart.jnlp">Launch Notepad Application</a>
If you deploy the Java Web Start application with a direct link, you cannot take advantage of the additional checks that the Deployment Toolkit functions provide. See Deploying a Java Web Start Application in the Deployment In-Depth lesson for details.
- Place the application's JAR file, JNLP file, and HTML page in the appropriate folders.
For this example, place
dynamictree_webstart.jnlp , and
JavaWebStartAppPage.html in the same directory on the local machine or a web server. A web server is preferred. To run from the local machine, you must add your application to the exception site list, which is managed from the Security tab of the Java Control Panel.
- Open the application's HTML page in a browser to view the application. Agree to run the application when prompted. Check the Java Console log for error and debugging messages.
Download source code for the Dynamic Tree Demo example to experiment further.