The change is only for the Mac App Store. You can easily look at the changeset associated with JDK-8138650 to verify this:
http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4 <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4> This is the relevant code change: +++ b/modules/fxpackager/src/main/java/com/oracle/tools/packager/mac/MacAppStoreBundler.java Fri Oct 02 15:33:14 2015 -0600 <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.2> @@ -290,13 +290,33 @@ <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.3> I18N.getString("error.non-existent-runtime.advice"))); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.4> } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.5> <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.6> - if (new File(baseDir, "Contents/Home/lib/libjfxmedia_qtkit.dylib").exists() <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.7> - || new File(baseDir, "Contents/Home/jre/lib/libjfxmedia_qtkit.dylib").exists()) <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.8> - { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.9> + int majorVersion; <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.10> + int updateVersion; <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.11> + <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.12> + try { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.13> + majorVersion = Integer.parseInt(params.get(".runtime.version.major").toString()); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.14> + updateVersion = Integer.parseInt(params.get(".runtime.version.update").toString()); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.15> + } catch (Exception e) { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.16> + // assume the worst <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.17> + majorVersion = 8; <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.18> + updateVersion = 60; <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.19> + } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.20> + <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.21> + // Quicktime <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.22> + // before 8u40 it was all of media <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.23> + // after 8u40 QTKit dependencies are isolated in it's own library <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.24> + if (majorVersion == 8 && updateVersion >= 40) { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.25> rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxmedia_qtkit.dylib")); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.26> } else { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.27> rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxmedia.dylib")); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.28> } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.29> + <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.30> + // webkit <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.31> + // 8u60 webkit started using an API Apple didn't like <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.32> + if (majorVersion == 8 && updateVersion >= 60) { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.33> + rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxwebkit.dylib")); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.34> + } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.35> + <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.36> return rules.toArray(new JreUtils.Rule[rules.size()]); <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.37> } Chris > On Nov 17, 2015, at 11:00 AM, Kevin Rushforth <kevin.rushfo...@oracle.com> > wrote: > > Yes, this is correct. We consider this only a short term workaround for the > problem. A longer term solution will be needed that will allow distributing > WebView applications. > > Chris: is there a way to override this behavior? > > -- Kevin > > > Dr. Michael Paus wrote: >> Just in order to better understand this issue and the fix. Does this mean >> that the packager >> will now ALWAYS delete the libjfxwebkit.dylib when building a DMG file? That >> would mean >> that I could not bundle and distribute any application anymore for the Mac >> which uses >> a WebView. Have you considered the fact that many people do bundle their >> apps but >> have their own distribution channels and do not upload the apps to the Apple >> store. >> There should at least be some switch to override this behavior. >> Just my 2+1/2 cents. >> Michael >> >> >> >> >> Am 17.11.15 um 18:31 schrieb Kevin Rushforth: >>> [taking awt-dev off of this thread] >>> >>> The fix that was put into 8u72-b02 is that the packager will no longer >>> include libjfxwebkit.dylib in the packaged app. Is this not working >>> correctly? >>> >>> -- Kevin >>> >>> >>> Sergey Bylokhov wrote: >>>> I think openjfx-dev@openjdk.java.net (cc) is correct place to ask this >>>> question. >>>> >>>> On 16.11.15 23:10, Ondřej Kvasnovský wrote: >>>>> Hi, >>>>> >>>>> We are facing to an issue with latest Java updates when we try to >>>>> release apps into Apple app store. I have described the issue here, with >>>>> all my findings: >>>>> http://ondrej-kvasnovsky.blogspot.com/2015/10/java-8-update-60-is-causing-apps-that.html >>>>> >>>>> >>>>> In short, the issue is that we are not able to release Java app into app >>>>> store since 1.8_60 because it uses private API (see the link above if >>>>> you want to know how to verify that). >>>>> >>>>> I spoke about this issue with Martijn Verburg and he pointed me to these >>>>> two issues: >>>>> https://bugs.openjdk.java.net/browse/JDK-8138650 - fixed for 8u72 >>>>> https://bugs.openjdk.java.net/browse/JDK-8138652 - permanent fix for 9 >>>>> (replace private libs with public ones) >>>>> >>>>> I have downloaded that jdk1.8.0_72 b05 JDK and run (downloaded from >>>>> https://jdk8.java.net/download.html): >>>>> otool -L >>>>> /Library/Java/JavaVirtualMachines/jdk1.8.0_72.jdk/Contents/Home/jre/lib/libjfxwebkit.dylib >>>>> >>>>> | grep icu >>>>> /usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current >>>>> version 51.1.0) >>>>> And it the issue is still there, Build b05 still references private API. >>>>> >>>>> I could even try to build and app and try to publish it for code review >>>>> by Apple... but since there is this reference, I do not believe it is >>>>> going to be successful. >>>>> >>>>> Since this issue https://bugs.openjdk.java.net/browse/JDK-8138650 is >>>>> considered to be fixed, but it seems it is not, could someone help with >>>>> that? >>>>> >>>>> >>>>> Best wishes, >>>>> Ondrej Kvasnovsky >>>> >>>> >>