- How do you downgrade Java version on MacOSX El Capitan? Right now when I run java -version I get: java version '9.0.1' Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode) I need to have it say.
- Java library for the plugins are not compatible with El Capitan?
OS X El Capitan and Java: No Fun (till now!)
There's been a bunch of stuff on the interwebs lately about El Capitan and Java issues.. here's the simple simple, condensed version of the fix:Lightroom cc torrent for mac. Free download convert mp4 to mp3 for mac. Even after upgrading to the latest version of Java, while running some applications on macOS Sierra (10.12), El Capitan (OS X 10.11), or Yosemite (OS X 10.10), users see a dialog box prompting to download Java. MacOS Sierra 10.12 or Yosemite (OS X 10.10) message: To open 'application' you need to install the legacy Java SE 6 runtime. 'Java for OS X 2015-001 installs the legacy Java 6 runtime for OS X 10.11 El Capitan, OS X 10.10 Yosemite, OS X 10.9 Mavericks, OS X 10.8 Mountain Lion, and OS X 10.7 Lion. This package is exclusively intended for support of legacy software and installs the same deprecated version of Java 6 included in the 2014-001 and 2013-005 releases.
Quick prereq to the post:
I have, for some time, had the following line in ~/.bash_profile under my login on my machine:
I see it this way.. /System/Library/Frameworks/JavaVM.framework/ relies on a set of symlinks that, in turn, rely on /Library/Java/Home being another symlink that points to the Home directory of an installed JVM. Changing the /Library/Java/Home symlink ensures that all of that other machinery (legacy or otherwise) continues to work correctly.At the very least with this setup typing 'java -version' at the command line gives me the version I'm looking for. And swapping symlinks to point to real disk locations is fairly easy.. it makes it MUCH easier to change JVM versions. Just repoint the symlink to
/Library/Java/JavaVirtualMachines/{jvm_folder}/Contents/Homeand Bob's your uncle.. it's done. And no other changes necessary.
So I selected to base this all on /Library/Java/Home being The Correct Location For The Current JVM.
As I said.. the above line is in a file called .bash_profile under /Users/{username}. If you have to create it be sure that afterward you open terminal and run
Java For El Capitan
As I said.. the above line is in a file called .bash_profile under /Users/{username}. If you have to create it be sure that afterward you open terminal and run
cd ~and then restart terminal. That will ensure that JAVA_HOME is always set when you hit Terminal. This makes many things lots easier, but most of all, since most Java packages will check for JAVA_HOME and only go looking for a JVM if not set, it gives you control over the Java version being used to run whatever it is you are trying to run.
chmod u+x .bash_profile
So..
That's why I chose to set JAVA_HOME to /Library/Java/Home and proceed as I have.Download and install Legacy Java 6SE from Apple:
https://support.apple.com/kb/DL1572?locale=en_USDownload and install Java 8 JDK from Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlChange a system symlink to make the Java 8 JVM the command line default:
cd `echo $JAVA_HOME`
sudo rm Home
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home ./Home
Once done, test with the following command on the command line:
java -versionIf you've done the above correctly your Java apps will launch and your command-line tools (oh, like launching Tomcat) will automatically use the latest JVM.
OH, also.. once you've installed the Java 8 JDK you may have to do two other things:
Edit the Java JDK PLIST
Edit the file at /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Info.plist to be:
JVMCapabilities
CommandLine
JNI
BundledApp
Add a symlink to point to libserver.dylib
It seems the Oracle installer doesn't create a necessary symlink for the JDK, so you'll need to copy/paste the following commands (there's 2 of them, btw):Java For Mac Os X El Capitan
sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bundle/Libraries/libserver.dylib
Give thanks to Oliver from Australia!
Dude is my hero and this wouldn't have happened without his blog post. However he's missing the J2SE 6 install and download and has a bunch of other stuff in there that isn't really relevant anymore.Quick prereq to the post:
I have, for some time, had the following line in ~/.bash_profile under my login on my machine:
I see it this way.. /System/Library/Frameworks/JavaVM.framework/ relies on a set of symlinks that, in turn, rely on /Library/Java/Home being another symlink that points to the Home directory of an installed JVM. Changing the /Library/Java/Home symlink ensures that all of that other machinery (legacy or otherwise) continues to work correctly.At the very least with this setup typing 'java -version' at the command line gives me the version I'm looking for. And swapping symlinks to point to real disk locations is fairly easy.. it makes it MUCH easier to change JVM versions. Just repoint the symlink to
/Library/Java/JavaVirtualMachines/{jvm_folder}/Contents/Homeand Bob's your uncle.. it's done. And no other changes necessary.
So I selected to base this all on /Library/Java/Home being The Correct Location For The Current JVM.
Java For El Capitan
As I said.. the above line is in a file called .bash_profile under /Users/{username}. If you have to create it be sure that afterward you open terminal and run
cd ~and then restart terminal. That will ensure that JAVA_HOME is always set when you hit Terminal. This makes many things lots easier, but most of all, since most Java packages will check for JAVA_HOME and only go looking for a JVM if not set, it gives you control over the Java version being used to run whatever it is you are trying to run.
chmod u+x .bash_profile
So..
That's why I chose to set JAVA_HOME to /Library/Java/Home and proceed as I have.Download and install Legacy Java 6SE from Apple:
https://support.apple.com/kb/DL1572?locale=en_USDownload and install Java 8 JDK from Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlChange a system symlink to make the Java 8 JVM the command line default:
cd `echo $JAVA_HOME`
sudo rm Home
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home ./Home
Once done, test with the following command on the command line:
java -versionIf you've done the above correctly your Java apps will launch and your command-line tools (oh, like launching Tomcat) will automatically use the latest JVM.
OH, also.. once you've installed the Java 8 JDK you may have to do two other things:
Edit the Java JDK PLIST
Edit the file at /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Info.plist to be:
JVMCapabilities
CommandLine
JNI
BundledApp
Add a symlink to point to libserver.dylib
It seems the Oracle installer doesn't create a necessary symlink for the JDK, so you'll need to copy/paste the following commands (there's 2 of them, btw):Java For Mac Os X El Capitan
sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bundle/Libraries/libserver.dylib
Give thanks to Oliver from Australia!
Dude is my hero and this wouldn't have happened without his blog post. However he's missing the J2SE 6 install and download and has a bunch of other stuff in there that isn't really relevant anymore.Java For Os X El Capitan Download
So, dude.. here's your linkback:https://oliverdowling.com.au/2014/03/28/java-se-8-on-mac-os-x/