Adobe Illustrator CS6 with Java 8?

Is it possible to run Adobe Illustrator CS6 with the current Oracle Java 8 rather than the legacy insecure Java 6 provided by Apple?

I know this is related to this question where the generic answer was that it may be incompatible, but I'd like to know if there is some shady hack that makes it run anyway.


Solution 1:

To activate Illustrator CS6 on El Capitan, you may need to temporarily deactivate the "rootless" mode. To do this, boot into the recovery partition by holding down Cmd-R upon startup. Then use the terminal app to disable "rootless". The command is

csrutil disable

It will advise you to reboot. After rebooting, you can now create the directories

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk

and

/System/Library/Java/Support/Deploy.bundle

Then you may reboot back into recovery mode, and run

csrutil enable

to reactivate the "rootless" mode.

Solution 2:

On my Mac, the creation of these directories

sudo mkdir /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo ln -s '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents' /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sudo mkdir /System/Library/Java/Support/Deploy.bundle

alone allow me to run Illustrator CS 6 even when neither Java 6 nor Java 8 is installed. Apparently, Illustrator only checks for the presence of these directories to determine whether Java is installed (it actually launches even when java itself is absent, provided directories above are created). I would like to know, which functionality in Illustrator CS 6 actually requires Java, as it apparently can launch without it.

Note: On OS X 10.11 and later you'll need to disable System Integrity Protection from the Recovery HD using csrutil disable in Terminal. Have a look at: About System Integrity Protection on your Mac & How to Disable System Integrity Protection (rootless) in OS X El Capitan.

Solution 3:

After some experimenting, I found a working solution based on this discussion.

  • Create a directory /System/Library/Java/JavaVirtualMachines/1.6.0.jdk.
  • Create a symlink /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents to /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents from Java 8.
  • If missing, create an empty directory /System/Library/Java/Support/Deploy.bundle.

You'll probably need to be root to do this, so use sudo using an administrative account (consult an expert if you are inexperienced, use at your own risk):

sudo mkdir /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo ln -s '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents' /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sudo mkdir /System/Library/Java/Support/Deploy.bundle

You can ignore errors stating that something already exists.

Solution 4:

Just had to overcome this issue on mac os 10.12 Sierra. Then basically follow @Zac Jackson's guideline. Install java8 as supported on sierra (ie from oracle). The rest happens within recovery mode:

Boot into the recovery partition by holding down Cmd-R upon startup. Then in the terminal app to disable "rootless", ie "System Integrity Protection":

csrutil disable

Create the directories:

 mkdir /Volumes/Macintosh\ HD/System/Library/Java/JavaVirtualMachines/1.6.0.jdk
 mkdir /Volumes/Macintosh\ HD/System/Library/Java/Support/Deploy.bundle

Then reenable "rootless":

 csrutil enable

Restart and Illustrator should be fine....