JEP 153: Launch JavaFX Applications

OwnerKumar Srinivasan
Created2011/10/27 20:00
Updated2014/07/10 20:15
TypeFeature
StatusCompleted
Componentclient-libs
ScopeJDK
Discussioncore dash libs dash dev at openjdk dot java dot net
EffortS
DurationS
Priority4
Endorsed byBrian Goetz
Release8
Issue8046143

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.