<AWT Dev>  Review Request: 8076264 [macosx] Launching app on MacOSX requires enclosing class
Sergey.Bylokhov at oracle.com
Fri Apr 10 13:47:53 UTC 2015
On 10.04.15 15:28, Martin Buchholz wrote:
> My biggest gripe about the Mac behavior was that java startup was
> doing AWT-specific initialization even though there is no AWT code
> here. Figure out how to move this code into the AWT module somehow?
> Isn't this sort of thing one of the goals of jigsaw?
> But looking at SetMainClassForAWT I see that this is hard to change.
> It's a mess. Why does AWT, SWT and JavaFX want to get the name of the
> main class, but ... only on Mac?!
It is used to initialize the name of the application during start of UI
library. Since there is no public way to take the mainclass from the
launcher(see  and ) we need to pass this value ourself. I suppose
such functionality is missing(or not implemented) on other platforms.
> 969 * WARNING: This environment variable is an implementation detail and
> 970 * isn't meant for use outside of the core platform. The mechanism for
> 971 * passing this information from Java launcher to other modules may
> 972 * change drastically between update release, and it may even be
> 973 * removed or replaced with another mechanism.
> 974 *
> 975 * NOTE: It is used by SWT, and JavaFX.
> On Wed, Apr 8, 2015 at 6:29 AM, Sergey Bylokhov
> <Sergey.Bylokhov at oracle.com <mailto:Sergey.Bylokhov at oracle.com>> wrote:
> Please review the fix for jdk 9.
> After the fix we clear all errors caused by getCanonicalName() on
> the mainclass and leave JAVA_MAIN_CLASS_ empty. This empty case
> will be handled in the NSApplicationAWT.m.
> Plus small cleanup suggested in the bug report(jstring->jclass).
> Bug: https://bugs.openjdk.java.net/browse/JDK-8076264
> Webrev can be found at:
> Best regards, Sergey.
Best regards, Sergey.
More information about the core-libs-dev