<AWT Dev> [9] Review Request: 8076264 [macosx] Launching app on MacOSX requires enclosing class

Sergey Bylokhov 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 [1] and [2]) we need to pass this value ourself. I suppose 
such functionality is missing(or not implemented) on other platforms.

[1] https://bugs.openjdk.java.net/browse/JDK-4827318
>   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:
>     Hello.
>     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:
>     http://cr.openjdk.java.net/~serb/8076264/webrev.01
>     <http://cr.openjdk.java.net/%7Eserb/8076264/webrev.01>
>     -- 
>     Best regards, Sergey.

Best regards, Sergey.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150410/e06ea9a2/attachment-0001.html>

More information about the awt-dev mailing list