Documentation Contents
Java Platform, Standard Edition Deployment Guide
Next
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
1
What's New
1.1
Enhancements in JDK 8u20
1.2
Enhancements in JDK 8u11
1.3
Enhancements in JDK 8u5
1.4
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
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.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
8.1
Create a JAR File
8.2
Bundle the JAR File into an App Package
8.3
Bundle the JRE with the App Package
8.4
Sign the App
8.5
Submitting an App to the Mac App Store
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
Applet Development Guide
11.1
Overview
11.2
Java Plug-In and Applet Architecture
11.2.1
Java Runtime Environment
11.2.2
Java Runtime Environment Version Selection
11.2.3
Thread Considerations
11.2.4
Classloader Cache and Interaction between Applets
11.2.5
Applet Garbage Collection
11.2.6
Applet Privileges
11.2.7
Proxy Configuration
11.2.8
Security
11.3
Applet Deployment Parameters
11.3.1
Deployment using JNLP
11.3.2
Loading Screen
11.3.3
Command-line Arguments
11.3.4
JRE Version Selection
11.3.5
Class Loader Caching
11.3.6
Security
11.3.7
Java Cache
11.4
Applet Status And Event Handlers
11.4.1
Applet Status
11.4.2
Applet Event Handlers
12
Preloaders for JavaFX Applications
12.1
Implementing a Custom Preloader
12.2
Packaging an Application with a Preloader
12.2.1
Packaging a Preloader Application in NetBeans IDE
12.2.2
Packaging a Preloader Application in an Ant Task
12.3
Preloader Code Examples
12.3.1
Show the Preloader Only if Needed
12.3.2
Enhance Visual Transitions
12.3.3
Using JavaScript with a Preloader
12.3.4
Using a Preloader to Display the Application Initialization Progress
12.3.5
Cooperation of Preloader and Application: A Login Preloader
12.3.6
Cooperation of Preloader and Application: Sharing the Stage
12.3.7
Customizing Error Messaging
12.4
Performance Tips
13
Customizing the Loading Experience
13.1
The RIA Loading Experience
13.2
The RIA Loading Process
13.3
Customization Options
13.3.1
Adding a Splash Screen
13.3.2
Implementing a Customized Loading Progress Indicator
13.3.3
The javax.jnlp.DownloadServiceListener Interface
13.3.4
Constructors of the Loading Progress Indicator Class
13.3.5
Methods of the javax.jnlp.DownloadServiceListener Interface
13.3.6
Specifying the Custom Progress Indicator in the JNLP File
13.3.7
How the RIA Software Communicates Progress
13.4
Best Practices and Tips
14
Java and JavaScript
14.1
Accessing an Application from a Web Page
14.2
Accessing the Host Web Page from a Java Applet
14.3
Accessing the Host Web Page from an Embedded JavaFX Application
14.4
Advanced topics
14.5
Threading
14.6
Security
14.7
Tab Pane Example
15
Signed JNLP Files
15.1
Signing a JNLP File
15.2
Signing a JAR File with a JNLP Template
16
Coding Tips
16.1
Detecting Embedded Applications
16.2
Accessing Application Parameters
16.3
Using JavaFX Host Services
16.4
Loading Resources
16.5
Managing the Stage Size of JavaFX Applications
17
Deployment in the Browser
17.1
API Overview
17.1.1
Application Descriptor (dtjava.App)
17.1.2
Platform (dtjava.Platform)
17.2
Callbacks
17.2.1
onDeployError
17.2.2
onGetNoPluginMessage
17.2.3
onGetSplash
17.2.4
onInstallFinished
17.2.5
onInstallNeeded
17.2.6
onInstallStarted
17.2.7
onJavascriptReady
17.2.8
onRuntimeError
17.3
Examples
17.3.1
Embedded Application Starts After the DOM Tree Is Constructed
17.3.2
Launch a Web Start Application from a Web Page
17.3.3
Pass Parameters to a Web Application
17.3.4
Specify Platform Requirements and Pass JVM Options
17.3.5
Access Your Code from JavaScript
17.3.6
Disable the HTML Splash Screen
17.3.7
Add a Custom HTML Splash Screen
17.3.8
Create a Handler for an Unsupported Platform
17.3.9
Check for Presence of JavaFX Runtime
Part IV Configuring and Monitoring Deployment
18
Java Control Panel
18.1
General
18.1.1
About
18.1.2
Network Settings
18.1.3
Temporary Internet Files
18.2
Update
18.2.1
Update Tab Options
18.2.2
Java Update Scheduler
18.3
Java
18.3.1
Java Runtime Environment Settings
18.3.2
Java Runtime Parameters
18.4
Security
18.4.1
Security Level
18.4.2
Exception Site List
18.4.3
Deployment Rule Set
18.4.4
Restore Security Prompts
18.4.5
Manage Certificates
18.5
Advanced
18.5.1
Debugging
18.5.2
Java Console
18.5.3
Default Java for Browsers
18.5.4
Shortcut Creation
18.5.5
JNLP File/MIME Association
18.5.6
Application Installation
18.5.7
Secure Execution Environment
18.5.8
Mixed code (sandboxed vs. trusted) security verification
18.5.9
Perform certificate revocation checks on
18.5.10
Check for certificate revocation using
18.5.11
Advanced Security Settings
18.5.12
Miscellaneous
18.5.13
Command to launch default browser (Solaris, Linux, or OS X only)
19
Deployment Configuration File and Properties
19.1
Deployment Configuration File
(deployment.properties)
19.1.1
User Level
19.1.2
System Level
19.2
Deployment Configuration Properties
19.2.1
Infrastructure
19.2.2
Certificate stores and policy files
19.2.3
Security Access And Control Settings
19.2.4
Networking
19.2.5
Cache and Optional Package Repository
19.2.6
Java Console
19.2.7
Tracing and Logging
19.2.8
Java Web Start
19.2.9
Browser Selection and Path
19.2.10
Check for update Timeout
20
Java Console, Tracing, and Logging
20.1
Debugging Options in the Java Console
20.2
Tracing and Logging
20.2.1
Tracing
20.2.2
Logging
20.2.3
File Names
20.2.4
File Locations
Part V Security
21
Setting the Security Level of the Java Client
21.1
Setting the Security Level of the Java Client
21.1.1
Ensuring the Most Secure JRE
21.1.2
JRE Expiration Date
21.1.3
Disabling Java in the Browser
21.1.4
Setting the Security Level
21.1.5
Security Options for a Secure Execution Environment
21.1.6
Install Options
21.1.7
RIAs with Mixed Code
21.2
Policy Files and Permissions
21.3
Property Files and Certificates
21.4
Browser Keystores
21.4.1
Internet Explorer keystore support
21.4.2
Mozilla keystore support
21.4.3
Installing JSS with Mozilla
21.5
Security Dialogs
21.5.1
Dialog Contents
21.5.2
Improving the User Experience
21.5.3
Java Control Panel Settings That Affect the Dialogs Shown
21.6
Warning Banner
21.7
More Information
22
Rich Internet Application Deployment Process
22.1
Overview of the Process
22.2
Plug-in Processing
22.3
Rules Processing
22.4
JRE Status
22.5
Digital Signature
22.6
Security Prompts
22.6.1
Normal Processing
22.6.2
Exception Site List
22.6.3
Select JRE
23
Working with Signed RIAs
23.1
Support for Dynamic Trust Management
23.2
Signing RIAs
23.2.1
Signing Tool
23.2.2
Getting Certificates
23.2.3
Bundling RIAs as JAR Files
23.2.4
Signing the JAR Files
23.2.5
Microsoft Authenticode
23.3
Deploying RIAs
23.3.1
Certificate Management
24
JAR File Manifest Attributes for Security
24.1
Permissions Attribute
24.2
Codebase Attribute
24.3
Application-Name Attribute
24.4
Application-Library-Allowable-Codebase Attribute
24.5
Caller-Allowable-Codebase Attribute
24.6
Entry-Point Attribute
24.7
Trusted-Only Attribute
24.8
Trusted-Library Attribute
24.9
Preventing RIAs from Being Repurposed
24.10
Additional Information
25
Mixing Privileged Code and Sandbox Code
25.1
Mixed Code Protection Options for Users
25.2
Deploying Privileged Applications and Applets Securely Without a Mixed Code Warning
25.2.1
Trusted-Only
Attribute
25.2.2
Trusted-Library
Attribute
25.3
Mixed Code FAQ
25.4
For More Information
26
Deployment Rule Set
26.1
Create the Rule Set
26.1.1
Define the Rules
26.1.2
Set Up Rules for Calls From JavaScript Code (LiveConnect)
26.1.3
Set Up Rules for Mixed Code
26.1.4
Get the Certificate Hash
26.2
Package and Install the Rule Set
26.3
Security Considerations
26.4
Examples
26.5
Java Deployment Rule Set DTD
27
Exception Site List
27.1
Manage the Exception Site List
27.1.1
Add a URL
27.1.2
Edit a URL
27.1.3
Remove a URL
27.2
Manage Access to the Exception Site List
Part VI Reference
28
Networking
28.1
Proxy Configuration
28.2
Java Control Panel
28.2.1
Use browser settings
28.2.2
Use proxy Server
28.2.3
Use automatic proxy configuration script
28.2.4
Direct connection
28.3
How Java Plug-in and Java Web Start Obtain Proxy Information From the Browser
28.4
Manual Proxy Configuration
28.5
Automatic Proxy Configuration
28.6
java.net.ProxySelector API
28.7
Deploying JAR Files Compressed with Pack200
28.7.1
Usage in a JNLP File
28.7.2
Usage in Applet Tag
29
Codebase Determination
29.1
Codebase Computation Rules
29.2
Examples
30
Troubleshooting
30.1
Running Applications
30.2
Development Process Issues
30.3
Runtime Issues
30.3.1
Standalone Execution
30.3.2
Self-Contained Applications
30.3.3
Web Start
30.3.4
Applications Embedded in the Browser
30.3.5
Disabling the Autoproxy Configuration in the Code
31
Java Rich Internet Applications Enhancements in JDK 7
31.1
Enhancements in JDK 7 Update 51
31.2
Enhancements in JDK 7 Update 45
31.3
Enhancements in JDK 7 Update 40
31.4
Enhancements in JDK 7 Update 25
31.5
Enhancements in JDK 7 Update 21
31.6
Enhancements in JDK 7 Update 10
31.7
Enhancements in JDK 7 Update 6
31.8
Enhancements in JDK 7 Update 2
31.9
Enhancements in Java SE 7
Next