Change JDK version in octave on mac
Octave 3.8.2, OS X 10.10.4
I used
ml_jar_version=javaMethod('getProperty','java.lang.System','java.version');
ml_jar_version=['Java ' ml_jar_version];
to check java version and i got
ml_jar_version = Java 1.6.0_65
However, I want Octave to use JDK 1.7 and so I typed
setenv("JAVA_HOME","/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home");
but has ml_jar_version
n't changed.
My question is , how do I get Octave to use JDK 1.7?
Edit 1 : my Octave was installed via homebrew. I believe homebrew just downloaded the precompiled binaries. Below is the configuration for my Octave installation:
homebrew/science/octave: stable 3.8.2 (bottled), HEAD
a high-level interpreted language for numerical computations.
https://www.gnu.org/software/octave/index.html
/usr/local/Cellar/octave/3.8.2_1 (2111 files, 54M)
Poured from bottle
/usr/local/Cellar/octave/3.8.2_2 (2111 files, 54M) *
Poured from bottle
From: https://github.com/homebrew/homebrew-science/blob/master/octave.rb
==> Dependencies
Build: pkg-config ✔, gnu-sed ✘
Required: pcre ✔, qscintilla2 ✔, qt ✔, pstoedit ✔
Recommended: gnuplot ✔, suite-sparse421 ✔, readline ✔, arpack ✔, fftw ✔, glpk ✔, gl2ps ✔, graphicsmagick ✔, hdf5 ✔, qhull ✔, qrupdate ✔, epstool ✔, ghostscript ✔
Optional: openblas ✘
==> Options
--with-jit
Use the experimental JIT support (not recommended)
--with-native-graphics
Use native OpenGL/FLTKgraphics (does not work with the GUI)
--with-openblas
Use OpenBLAS instead of native LAPACK/BLAS
--without-arpack
Build without arpack support
--without-check
Skip build-time tests (not recommended)
--without-curl
Do not use cURL (urlread/urlwrite/@ftp)
--without-docs
Don't build documentation
--without-epstool
Build without epstool support
--without-fftw
Do not use FFTW (fft,ifft,fft2,etc.)
--without-ghostscript
Build without ghostscript support
--without-gl2ps
Build without gl2ps support
--without-glpk
Do not use GLPK
--without-gnuplot
Do not use gnuplot graphics
--without-graphicsmagick
Build without graphicsmagick support
--without-gui
Do not build the experimental GUI
--without-hdf5
Do not use HDF5 (hdf5 data file support)
--without-java
Build without java support
--without-qhull
Do not use the Qhull library (delaunay,voronoi,etc.)
--without-qrupdate
Do not use the QRupdate package (qrdelete,qrinsert,qrshift,qrupdate)
--without-readline
Build without readline support
--without-suite-sparse421
Do not use SuiteSparse (sparse matrix operations)
--without-zlib
Do not use zlib (compressed MATLAB file formats)
--HEAD
Install HEAD version
+3
source to share
1 answer
It seems that the octave is reading the "dafault-java" symlink, here: / usr / library / jvm / default-java
$ls -al
drwxr-xr-x 5 root root 4096 19 21:37 .
drwxr-xr-x 181 root root 12288 19 20:45 ..
lrwxrwxrwx 1 root root 14 19 21:37 default-java -> java-8-openjdk-amd64/
lrwxrwxrwx 1 root root 20 23 2016 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
-rw-r--r-- 1 root root 2600 27 21:06 .java-1.8.0-openjdk-amd64.jinfo
drwxr-xr-x 8 root root 4096 19 20:45 java-7-oracle
-rw-r--r-- 1 root root 2543 19 20:45 .java-7-oracle.jinfo
drwxr-xr-x 7 root root 4096 19 21:37 java-8-openjdk-amd64
drwxr-xr-x 2 root root 4096 16 20:28 openjdk-8
You need to change it to point to the java folder:
First remove it:
$sudo rm default-java
Then create a new symlink (java-7-oracle in my case):
$ln -s java-7-oracle/ default-java
After that it will work.
In an octave:
>> javaMethod('getProperty','java.lang.System','java.version')
ans = 1.7.0_80
0
source to share