On macOS, MATLAB R2013b and later use a JVM which is bundled with MATLAB. In MATLAB R2013a and earlier, MATLAB uses the system-wide JVM.
MATLAB is fully supported only on these shipped versions of the JVM software. Some components might not work properly under a different version of the JVM software. For example, calling functions in a dynamically linked library that was created with a different JVM software version than that used by MATLAB might cause a segmentation violation error message.
If you choose to change the JVM software version used by MATLAB, you must:
1. Download and install the desired version of the JRE (Java Runtime Environment) or the JDK (Java Development Kit). The latter contains the JRE and development tools.
2. Determine the path of the JRE directory within that installation. This varies by platform and whether you downloaded the JRE or JDK (see below).
3. Set the MATLAB_JAVA environment variable to this path (see below).
4. Start MATLAB while that environment variable is set (see below).
This article applies only to MATLAB launched from a shell window or modified shortcut as both of these methods set-up the MATLAB_JAVA variable. Clicking on the regular MATLAB icon will not use the new Java.
Setting MATLAB to use new Java
As an alternative to using the Terminal to start MATLAB using the new Java, you can download the attached "createMATLABShortcut" script and run it in MATLAB. This will create a shortcut on the Desktop to start MATLAB with the updated JRE. By default it will use the JRE from:
This new shortcut can be dragged onto the Dock for easier access.
If you would rather use Terminal to start MATLAB using the new Java, follow these steps:
Use the Finder to locate the JRE path. The JRE path will be similar to one of the following, depending on whether you have installed the JDK or just the JRE:
Note that if the JRE path contains spaces as in the 2nd case above, you must enclose it in quotes in the steps below.
Open a window in Terminal and execute:
to determine what shell you are using.
On csh or tcsh shells, use the "setenv" command to set the MATLAB_JAVA environment variable. For example:
setenv MATLAB_JAVA <JRE path>
This command needs to be run in every new shell window.
On the bash shell, execute:
export MATLAB_JAVA=<JRE path>
This setting will apply to MATLAB launched from that shell window.
Verifying the Installation
To verify that MATLAB is using the correct version of the JVM software, type the following at the MATLAB prompt:
If MATLAB is not using your value of MATLAB_JAVA, you may need to logout and log back in again.
To change the JVM MATLAB uses for other systems, use the following links.