※こちらは旧サイトです(新サイトはこちら

Debian8(jessie)でOracleJDK8を入れてjenvで切り替えて使うメモ

2017-06-15 21:24:33

google/closure-stylesheetsを使おうとしたら、ローカルのOpenJDK7では怒られたので、OracleJDK8をインストールした時のメモ

$ java -jar ./google-closure-stylesheets/stylesheets.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/common/css/compiler/commandline/ClosureCommandLineCompiler : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Debian8でOracleJDK 8を使う方法

$ cat /etc/apt/sources.list

// 末尾に追加
deb http://deb.debian.org/debian jessie-backports main

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
$ wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

今回は後者のOracleJDK8を使う方法です

OracleJDK8を好きな場所に展開

普通は/usr/local/lib/とかがいいと思います。(僕はDockerのDataVolumeContainerに突っ込みました)

$ sudo tar zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/lib/

jenvでインストールしたディレクトリを追加

jenvのインストール方法などについてはこちら

// jenv add すると勝手に認識します
$ jenv add /usr/local/lib/jdk1.8.0_131/
oracle64-1.8.0.131 added
1.8.0.131 added
1.8 added

$ jenv versions
* system (set by /home/username/.anyenv/envs/jenv/version)
  1.8
  1.8.0.131
  oracle64-1.8.0.131


// 使いたいディレクトリに移動
$ cd /path/to/jdk8_project/

// JDK8のバージョン指定
$ jenv local oracle64-1.8.0.131

$ jenv versions
  system
  1.8
  1.8.0.131
* oracle64-1.8.0.131 (set by /path/to/jdk8_project/.java-version)

// 「.java-version」というファイルが出来てます
$ cat .java-version
oracle64-1.8.0.131