JEP 153: Launch JavaFX Applications

AuthorKumar Srinivasan
OrganizationOracle
Created2011/10/27
Updated2012/12/4
TypeFeature
StateFunded
Componentcore/--
ScopeJDK
Discussioncore dash libs dash dev at openjdk dot java dot net
Start2013/Q1
DependsTBD:JavaFX
EffortS
DurationS
Endorsed-byBrian Goetz
Funded-byOracle
Release8
TargetM5

Summary

Enhance the java command-line launcher to launch JavaFX applications.

Goals

In addition to supporting the launching of Java classes through their main methods, and of executable JARs through their Main-Class manifest headers, the java launcher should also support the direct launching of JavaFX application JARs.

Non-Goals

The feature will not enhance the launcher to:

Success Metrics

This feature should not adversely affect the startup performance of non-JavaFX applications and tools.

Motivation

JavaFX applications are currently launched via the java launcher by bundling the JavaFX initialization logic as the main class in the application’s JAR file. In the event that this logic is erroneous, having the initialization logic embedded in the deployed JARs makes it difficult to distribute fixes without redistributing all applications. By moving the initialization logic into the java launcher itself, this problem can be eliminated.

Description

Mark JavaFX application JARs so that the launcher can recognize them and then use JavaFX-specific logic to launch them. One way to do this would be to define a new JAR-manifest header.

Testing

Existing startup performance tests will be run.

Dependences

This feature depends on upon JavaFX being integrated into the JDK.