7 Replies Latest reply: Feb 8, 2013 9:31 PM by MadMacs0
CrazyAfrican Level 1 Level 1 (10 points)

Apple blocked anything lower than "JavaWebComponentVersionMinimum = "1.6.0_37-b06-435".

 

Installing Java 1.7 worked. Java Control panel says I have Java 7.

 

Still cannot run a app that uses Java, since it is still using Apple's java, which does not get uninstalled. Terminal command "java -version" still says Java 1.6:

 

XProtect versions:

$ sudo defaults read /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta

{

    JavaWebComponentVersionMinimum = "1.6.0_37-b06-435";

    LastModification = "Thu, 31 Jan 2013 04:41:14 GMT";

    PlugInBlacklist =     {

        10 =         {

            "com.macromedia.Flash Player.plugin" =             {

                MinimumPlugInBundleVersion = "11.3.300.271";

            };

            "com.oracle.java.JavaAppletPlugin" =             {

                MinimumPlugInBundleVersion = "1.7.11.22";

            };

        };

    };

    Version = 1038;

}

 

Java command after 1.7 installed and verified:

$ java -version

java version "1.6.0_37"

Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)

Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

 

Changing the "JavaWebComponentVersionMinimum" allows me to run the app. Changing it back prevents me from running the app. Why are Apple's java components not replaced? If the answer is "Apple provides those components" then why is Apple fixing 10.6, but not 10.7 or 10.8?

 

This is a serious problem.

  • 1. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    MadMacs0 Level 4 Level 4 (3,725 points)

    CrazyAfrican wrote:

     

    why is Apple fixing 10.6, but not 10.7 or 10.8?

    Yes, that is exactly the question and I have no idea except to guess that they are doing everything they can to push everybody to Java 7. This allows them to apply their programming resources to things they consider to be more important and since Oracle will not support Java 6 after this month, they would have no source for future updates. It doesn't seem to me that it would not be that hard to post a Java for OS X 2012-007, but so far they have not seen fit to do so.

     

    I read rumors that they had an update to 1.6.0_38 in developer test, so perhaps that can be combined with patches for release 39 and once developers have given their OK, we'll see it in Software Update. Only time will tell.

  • 2. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    CrazyAfrican Level 1 Level 1 (10 points)

    They did patch Java on the 10.6 OS though. They are now at:

    java version "1.6.0_39"

    Java(TM) SE Runtime Environment (build 1.6.0_39-b04-442-10M4008)

    Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-442, mixed mode)

     

    Actually, Apple is not providing Java by default on 10.7 ro 10.8 anymore. You can install it when it is first needed. That's my point though. Why not replace the Apple provided Java with the Oracle 1.7, or just remove the Apple provided Java. I'd be fine with the Oracle Java 1.7, but even after installing it, 1.6 is still there and some applets still go for the 1.6, which fails due to the XProtect blacklist.

  • 3. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    MadMacs0 Level 4 Level 4 (3,725 points)

    CrazyAfrican wrote:

     

    They did patch Java on the 10.6 OS though.

    Yes, they did that over the weekend.

    Why not replace the Apple provided Java with the Oracle 1.7, or just remove the Apple provided Java.

    That's never been the way it was done. Over time, there have often been up to three versions of Java installed, which is how backward comparability was provide. It's just that it was always installed by Apple and there was a way to select which versions were enabled.

     

    What's different this time is that Oracle placed Java 7 in a different location and neither the old Java Preference app nor the Command-line "java" process knew of that location, so they offer no way to control Java 7. Similarly, the Java Control Panel does not know anything about Apple's Java 6. Thus there is no way to disable one or the other, especially since Apple has now removed the Java Preferences app.

    I'd be fine with the Oracle Java 1.7, but even after installing it, 1.6 is still there and some applets still go for the 1.6, which fails due to the XProtect blacklist.

    Hmm, I don't believe that has been reported before. I know that there are Applications that won't work with Java 7 (CrashPlan posted a workaround for here), but all web applets should be going to only the one selected using these procedures http://support.apple.com/kb/HT5559.

  • 4. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    GeekBoy.from.Illinois Level 4 Level 4 (2,775 points)

    One thing I have noticed is that if you ever installed the JDK, then the JRE is just re-directed to point to your JDK.  This means that if you installed the JDK v1.6, then later installed the JRE v1.7, your JRE is re-directed to your existing JDK, and remains at v1.6.  If you remove the JDK v1.6, then re-install the JRE v1.7, it will report v1.7 installed.  You could also just install the JDK v1.7 and it would report that version as well.

  • 5. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    MadMacs0 Level 4 Level 4 (3,725 points)

    Thanks for confirming that. I was aware that the terminal command would be redirected to report Java 7 if the Oracle JDK was installed, but I hesitated to recommend doing that until the OP was certain of what version works best in his situation. Until all developers have converted to Java 7, I suspect situations like this will continue to exist.

  • 6. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    CrazyAfrican Level 1 Level 1 (10 points)

    Thanks for the comments. Web apps seem to be fine with 1.7. I have some applets that need Java and they look to Apple's java location, so they fail to load because it is blacklisted. Somewhat sad, since I upgraded from 10.6 so that I am more current, but they fixed 10.6. Hmmmm, not happy. I have a java applet that administers our backup systems. Now I have to take over a PC that has it installed, or modify the XProtect.meta.plist file and change it back when I am done. That is a little annoying.

  • 7. Re: This is not clean. I have 1.7 via Control Panel, but "java -version" command still returns 1.6.
    MadMacs0 Level 4 Level 4 (3,725 points)

    CrazyAfrican wrote:

     

    Thanks for the comments. Web apps seem to be fine with 1.7. I have some applets that need Java and they look to Apple's java location, so they fail to load because it is blacklisted.

    Have you considered installing JDK SE 7 from here? If you are certain eveything you need works with Java 7, then that would seem to be the way to go next.