Skip to Content
Java Software
Java SE Downloads
Java SE 8 Documentation
Search
Java Platform, Standard Edition Deployment Guide
Next
Contents
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
1
What's New
1.1
Enhancements in JDK 8u40
1.2
Enhancement in JDK 8u31
1.3
Enhancements in JDK 8u20
1.4
Enhancements in JDK 8u11
1.5
Enhancements in JDK 8u5
1.6
Enhancements in JDK 8
Part I Deployment Basics
2
Getting Started
2.1
Basic Steps
2.2
Choose the Execution Environment
2.3
Create the Package
2.3.1
Packaging Tools
2.4
Create the Web Page
2.5
Distribute Your Application
2.6
Beyond the Basics
3
Application Execution Modes
3.1
Execution Modes
3.2
Understanding Feature Differences
3.2.1
Preloader Support for JavaFX Applications
3.2.2
Built-In Proxy Support
3.2.3
Desktop Integration via Shortcut
3.2.4
Run in Sandbox
3.2.5
Auto-Updates
3.2.6
Deployment Toolkit
3.2.7
Communicate to the Host Web Page
3.2.8
Managing Platform Dependencies
4
Application Startup
4.1
User Experience Considerations
4.2
Application Startup Process, Experience, and Customization
4.2.1
Startup Process
4.2.2
Default User Experience
4.2.3
Customization Options for JavaFX Applications
4.2.4
Customization Options for Java Applets
4.3
Helping Users Start the Application
4.3.1
No JRE
4.3.2
Runtime Errors
4.3.3
Multiple JREs Installed
Part II Packaging
5
Packaging Basics
5.1
Java Packaging Overview
5.2
Base Application Package
5.3
Overview of Packaging Tasks
5.3.1
Java Packaging Tools
5.4
Style Sheet Conversion
5.5
Create the Main Application JAR File
5.6
Sign the JAR Files
5.7
Run the Deploy Task or Command
5.7.1
Configure the Deployment Descriptor
5.7.2
Application Resources
5.7.3
Package Custom JavaScript Actions
5.7.4
Web Page Templates
5.8
Packaging Cookbook
5.8.1
Passing Parameters to the Application
5.8.2
Customizing JVM Setup
5.8.3
Packaging Complex Applications
5.8.4
Publishing an Application that Fills the Browser Window
5.9
Performance Tuning for Web Deployment
5.9.1
Background Update Check for the Application
5.9.2
Embed the Deployment Descriptor into the Web Page
5.9.3
Embed Signing Certificate into Deployment Descriptor
5.9.4
Use Alternative Signing Method
6
JavaFX in Swing Applications
6.1
Overview
6.2
Packaging with JavaFX Ant Tasks
6.2.1
Enabling an HTML Splash Screen
6.3
Packaging without the Packaging Tools
6.3.1
Using the Deployment Toolkit
7
Self-Contained Application Packaging
7.1
Introduction
7.2
Benefits and Drawbacks of Self-Contained Application Packages
7.3
Basics
7.3.1
Self-Contained Application Structure
7.3.2
Basic Build
7.3.3
Customizing the Package Using Drop-In Resources
7.3.4
Customization Options
7.3.5
Platform-Specific Customization for Basic Packages
7.3.6
Passing Arguments to a Self-Contained Application
7.3.7
Associating Files with a Self-Contained Application
7.3.8
Supporting Multiple Entry Points
7.4
Installable Packages
7.4.1
EXE Package
7.4.2
MSI Package
7.4.3
DMG Package
7.4.4
Linux Packages
7.5
Working Through a Deployment Scenario
8
Packaging for Distribution on a Mac
9
The Java Packager Tool
10
JavaFX Ant Tasks
10.1
Requirements to Run JavaFX Ant Tasks
10.2
JavaFX Ant Elements
10.3
Using JavaFX Ant Tasks
10.4
Ant Script Examples
10.4.1
Deploying the JavaFX Hello World Example
10.4.2
Deploying the JavaFX Hello World Example as a Self-Contained Application
10.4.3
Deploying a JavaFX Application with External JAR Files
10.4.4
Overriding JVM Options for Self-Contained Applications
JavaFX Ant Task Reference
JavaFX Ant Helper Parameter Reference
Part III Development
11
Java Rich Internet Applications
11.1
About Java RIAs
11.1.1
Design
11.1.2
Development
11.1.3
Deployment
11.2
Rich Internet Applications Decision Guide
11.3
Rich Internet Applications Deployment Advice
11.3.1
Unified Deployment Mechanism - Java Network Launch Protocol
11.3.2
Deployment Toolkit Script
11.3.3
Other Deployment Considerations
11.3.4
Other Resources
11.4
Properties That Affect the Behavior of Rich Internet Applications
12
Applet Development Guide
12.1
Overview
12.2
Java Plug-In and Applet Architecture
12.2.1
Java Runtime Environment
12.2.2
Java Runtime Environment Version Selection
12.2.3
Thread Considerations
12.2.4
Classloader Cache and Interaction between Applets
12.2.5
Applet Garbage Collection
12.2.6
Applet Privileges
12.2.7
Proxy Configuration
12.2.8
Security
12.3
Applet Deployment Parameters
12.3.1
Deployment using JNLP
12.3.2
Loading Screen
12.3.3
Command-line Arguments
12.3.4
JRE Version Selection
12.3.5
Class Loader Caching
12.3.6
Security
12.3.7
Java Cache
12.4
Applet Status And Event Handlers
12.4.1
Applet Status
12.4.2
Applet Event Handlers
12.5
Migrating Java Applets to the Java Network Launching Protocol
12.5.1
Advantages of Migrating to JNLP
12.5.2
Using JNLP with an Applet
12.5.3
Migrating an Existing Java Applet
13
Preloaders for JavaFX Applications
13.1
Implementing a Custom Preloader
13.2
Packaging an Application with a Preloader
13.2.1
Packaging a Preloader Application in NetBeans IDE
13.2.2
Packaging a Preloader Application in an Ant Task
13.3
Preloader Code Examples
13.3.1
Show the Preloader Only if Needed
13.3.2
Enhance Visual Transitions
13.3.3
Using JavaScript with a Preloader
13.3.4
Using a Preloader to Display the Application Initialization Progress
13.3.5
Cooperation of Preloader and Application: A Login Preloader
13.3.6
Cooperation of Preloader and Application: Sharing the Stage
13.3.7
Customizing Error Messaging
13.4
Performance Tips
14
Customizing the Loading Experience
14.1
The RIA Loading Experience
14.2
The RIA Loading Process
14.3
Customization Options
14.3.1
Adding a Splash Screen
14.3.2
Implementing a Customized Loading Progress Indicator
14.3.3
The javax.jnlp.DownloadServiceListener Interface
14.3.4
Constructors of the Loading Progress Indicator Class
14.3.5
Methods of the javax.jnlp.DownloadServiceListener Interface
14.3.6
Specifying the Custom Progress Indicator in the JNLP File
14.3.7
How the RIA Software Communicates Progress
14.4
Best Practices and Tips
15
Customizing JVM Options in Self-Contained Applications
15.1
Overview of the UserJvmOptionsService API
15.2
Using the UserJvmOptionsService API to Customize JVM Options
15.2.1
Instantiating UserJvmOptionsService
15.2.2
Getting Current Values of JVM Options
15.2.3
Getting Default Values of JVM Options
15.2.4
Setting New Values for JVM Options
15.2.5
Example Using the UserJvmOptionsService API
16
Java and JavaScript
16.1
Accessing an Application from a Web Page
16.2
Accessing the Host Web Page from a Java Applet
16.3
Accessing the Host Web Page from an Embedded JavaFX Application
16.4
Advanced topics
16.5
Threading
16.6
Security
16.7
Tab Pane Example
17
Signed JNLP Files
17.1
Signing a JNLP File
17.2
Signing a JAR File with a JNLP Template
18
Coding Tips
18.1
Detecting Embedded Applications
18.2
Accessing Application Parameters
18.3
Using JavaFX Host Services
18.4
Loading Resources
18.5
Managing the Stage Size of JavaFX Applications
19
Deployment in the Browser
19.1
API Overview
19.1.1
Application Descriptor (dtjava.App)
19.1.2
Platform (dtjava.Platform)
19.2
Callbacks
19.2.1
onDeployError
19.2.2
onGetNoPluginMessage
19.2.3
onGetSplash
19.2.4
onInstallFinished
19.2.5
onInstallNeeded
19.2.6
onInstallStarted
19.2.7
onJavascriptReady
19.2.8
onRuntimeError
19.3
Examples
19.3.1
Embedded Application Starts After the DOM Tree Is Constructed
19.3.2
Launch a Web Start Application from a Web Page
19.3.3
Pass Parameters to a Web Application
19.3.4
Specify Platform Requirements and Pass JVM Options
19.3.5
Access Your Code from JavaScript
19.3.6
Disable the HTML Splash Screen
19.3.7
Add a Custom HTML Splash Screen
19.3.8
Create a Handler for an Unsupported Platform
19.3.9
Check for Presence of JavaFX Runtime
Part IV Configuring and Monitoring Deployment
20
Java Control Panel
20.1
General
20.1.1
About
20.1.2
Network Settings
20.1.3
Temporary Internet Files
20.2
Update
20.2.1
Update Tab Options
20.2.2
Java Update Scheduler
20.3
Java
20.3.1
Java Runtime Environment Settings
20.3.2
Java Runtime Parameters
20.4
Security
20.4.1
Security Level
20.4.2
Exception Site List
20.4.3
Deployment Rule Set
20.4.4
Restore Security Prompts
20.4.5
Manage Certificates
20.5
Advanced
20.5.1
Debugging
20.5.2
Java Console
20.5.3
Default Java for Browsers
20.5.4
Shortcut Creation
20.5.5
JNLP File/MIME Association
20.5.6
Application Installation
20.5.7
Secure Execution Environment
20.5.8
Mixed code (sandboxed vs. trusted) security verification
20.5.9
Perform certificate revocation checks on
20.5.10
Check for certificate revocation using
20.5.11 Perform TLS certificate revocation checks on
20.5.12
Advanced Security Settings
20.5.13
Miscellaneous
20.5.14
Command to launch default browser (Solaris, Linux, or macOS only)
21
Deployment Configuration File and Properties
21.1
Deployment Configuration File
(deployment.properties)
21.1.1
User Level
21.1.2
System Level
21.2
Deployment Configuration Properties
21.2.1
Infrastructure
21.2.2
Certificate stores and policy files
21.2.3
Security Access And Control Settings
21.2.4
Networking
21.2.5
Cache and Optional Package Repository
21.2.6
Java Console
21.2.7
Tracing and Logging
21.2.8
Java Web Start
21.2.9
Browser Selection and Path
21.2.10
Check for update Timeout
21.2.11
SSLv3 is disabled by default
22
Java Console, Tracing, and Logging
22.1
Debugging Options in the Java Console
22.2
Tracing and Logging
22.2.1
Tracing
22.2.2
Logging
22.2.3
File Names
22.2.4
File Locations
Part V Security
23
Setting the Security Level of the Java Client
23.1
Setting the Security Level of the Java Client
23.1.1
Ensuring the Most Secure JRE
23.1.2
JRE Expiration Date
23.1.3
Disabling Java in the Browser
23.1.4
Setting the Security Level
23.1.5
Security Options for a Secure Execution Environment
23.1.6
Install Options
23.1.7
RIAs with Mixed Code
23.2
Policy Files and Permissions
23.3
Property Files and Certificates
23.4
Browser Keystores
23.4.1
Internet Explorer keystore support
23.4.2
Mozilla keystore support
23.4.3
Installing JSS with Mozilla
23.5
Security Dialogs
23.5.1
Dialog Contents
23.5.2
Improving the User Experience
23.5.3
Java Control Panel Settings That Affect the Dialogs Shown
23.6
Warning Banner
23.7
More Information
24
Rich Internet Application Deployment Process
24.1
Overview of the Process
24.2
Plug-in Processing
24.3
Rules Processing
24.4
JRE Status
24.5
Digital Signature
24.6
Security Prompts
24.6.1
Normal Processing
24.6.2
Exception Site List
24.6.3
Select JRE
25
Working with Signed RIAs
25.1
Support for Dynamic Trust Management
25.2
Signing RIAs
25.2.1
Signing Tool
25.2.2
Getting Certificates
25.2.3
Bundling RIAs as JAR Files
25.2.4
Signing the JAR Files
25.2.5
Microsoft Authenticode
25.3
Deploying RIAs
25.3.1
Certificate Management
26
JAR File Manifest Attributes for Security
26.1
Permissions Attribute
26.2
Codebase Attribute
26.3
Application-Name Attribute
26.4
Application-Library-Allowable-Codebase Attribute
26.5
Caller-Allowable-Codebase Attribute