<AWT Dev>  Review Request: 8076264 [macosx] Launching app on MacOSX requires enclosing class
kumar.x.srinivasan at oracle.com
Fri Apr 10 15:02:59 UTC 2015
and it looks like sun.java.command is no longer exported to Java.
* inject the -Dsun.java.command pseudo property into the args structure
* this pseudo property is used in the HotSpot VM to expose the
* Java class name and arguments to the main method to the VM. The
* HotSpot VM uses this pseudo property to store the Java class name
* (or jar file name) and the arguments to the class's main method
* to the instrumentation memory region. The sun.java.command pseudo
* property is not exported by HotSpot to the Java layer.
I guess you could get it from the intrumentation or serviceability
layer, that may likely be an additional overhead.
On 4/10/2015 6:47 AM, Sergey Bylokhov wrote:
> 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
>  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:
>> 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.
More information about the awt-dev