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







All Articles