Mac OS X Port Project Status

Skip to end of metadata
Go to start of metadata

This page outlines the status of high-level feature areas to bring from Apple's Java SE 6 to the Mac OS X port of JDK 7u4.

7u4 is now complete; 7u6 is in active development in jdk7u-dev.

A list of popular open issues is available at the JIRA bug reporter.

Features in the macosx-port src repository

Features not yet ported from Apple's Java SE 6

  • Bundled app launching
    •  JavaApplicationStub replacement
      •  Stub source now checked in. More tools for bundling an app are coming.
      •  Stub and AWT reviewed for sandboxing
        •  need to fix JavaSound, launcher stub, and remove dependency on X11 libfreetype.

Features not in public macosx-port ("deploy" is private to Oracle). You'll have to trust us on these – deploy is not ready to be open-sourced.

  • Applets/Plugin2
    • Need to create .plugin bundle
      • Need to embed slimmed JRE into .plugin bundle
    •  Need NPAPI/Cocoa event -> Java event conversion
    • Need the LWAWT to render into NSOpenGLLayer (see above)
      • Need cross-process CALayer connection mechanism to be exposed
    •  Need to determine update mechanism (Sparkle.framework?)
    •  JavaFx support
  • Web Start
    • Need to determine delivery vehicle (inside Applet plug-in, or some other form) – Java Web will find javaws in the deployment bundle and execute that. Requires at least 10.7.3.
    •  Shortcut support
  •  Java Preferences 
    •  UI cleanup: Look better on Mac OS X
    •   Preference pane

Non-feature tasks


These features will not be ported to OpenJDK from the Apple Java SE 6 port

  • MacRoman default encoding
    • UTF-8 only, for all locales/languages
  • NSView-based AWT heavyweight widgets
    • LWAWT Swing-based widgets only
  • NSView-based JAWT embedding
    • CALayer embedding instead
  • CocoaComponent
    • Use CALayer-based JAWT embedding instead
  • SWT Carbon EventLoop support
    • No 32-bit only technologies, Cocoa only
  • JNI instantiation through the JavaVM.framework
    • Embed your own JRE instead
  • Apple JavaApplicationStub
    • Use the new JavaAppLauncher, loads an embedded .jre, JavaApplicationStub compatible
  • Apple native crypto
    • Use standard Java crypto
  • HotSpot Shared Archive Generation
    • Automatic JSA creation is of limited use until HotSpot supports class sharing in 64-bit, and in all garbage collectors
Status icon meanings
In progress
Not done
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.

The individuals who post here are part of the extended Oracle community and they might not be employed or in any way formally affiliated with Oracle. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Oracle nor any other party necessarily agrees with them.