How do I change the Java Virtual Machine (JVM) that MATLAB is using on macOS?

2 views (last 30 days)
How do I change the Java Virtual Machine (JVM) that MATLAB is using on macOS?

Accepted Answer

li
li on 24 Jun 2022
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 path to the JRE directory.
  • For R2021b and later versions, use MATLAB's jenv or matlab_jenv command.
  • For R2021a and earlier versions, set the MATLAB_JAVA environment variable to this path, and start MATLAB while that environment variable is set. See detailed instructions below. This method 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 (R2021a and earlier versions)
Using shortcut:
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:
ThemeCopy
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
This new shortcut can be dragged onto the Dock for easier access.
Using Terminal:
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:
For JDK:
ThemeCopy
/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre
For JRE:
ThemeCopy
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/HomeNote 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:
ThemeCopy
echo $SHELL
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:
ThemeCopy
setenv MATLAB_JAVA <JRE path>
This command needs to be run in every new shell window.
On the bash shell, execute:
ThemeCopy
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:
ThemeCopy
>> version -java
If MATLAB is not using your value of MATLAB_JAVA, you may need to logout and log back in again.
Other OS:
To change the JVM MATLAB uses for other systems, use the following links.
Windows OS:
Linux OS:

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by