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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ 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を使う方法

  • backportsからOpenJDK 8をインストールする方法
1
2
3
4
5
6
7
$ 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
1
$ 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に突っ込みました)

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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