JOSM を起動するとスプラッシュ画面に次のようなメッセージが><
JOSM – Java OpenStreetMap エディタ
このバージョンのJavaはもうすぐサポート対象から外れます。 Java 8以上にアップグレードしてください!
現在利用している Java は Debian stretch のパッケージで導入した Oracle Java 7 です.OpenJDK 7 でも同じメッセージが表示されます.
ディストリビューションがサポートしている間は脆弱性とかは修正されるだろうけど JOSM 側でサポート打ち切る可能性もあるので Java 8 を使えないか確認してみます.
% where java
/usr/bin/java
% /usr/bin/java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
% dpkg -l oracle-java7-jdk|grep ^ii
ii oracle-java7-jdk 7u25 amd64 Java(TM) JDK, Standard Edition, Oracle(TM)
Oracle Java は未だパッケージにないけど OpenJDK 8 は存在するよう.
% apt-cache search oracle-java
oracle-java7-jdk - Java(TM) JDK, Standard Edition, Oracle(TM)
% apt-cache search openjdk-8
openjdk-8-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
openjdk-8-dbg - OpenJDK ベースの Java ランタイム (デバッグシンボル)
openjdk-8-demo - OpenJDK ベースの Java ランタイム (デモおよびサンプルファイル)
openjdk-8-doc - OpenJDK 開発キット (JDK) ドキュメント
openjdk-8-jdk - OpenJDK 開発キット (JDK)
openjdk-8-jre - OpenJDK Java ランタイム - Hotspot JIT 版
openjdk-8-jre-headless - OpenJDK Java ランタイム - Hotspot JIT 版 (ヘッドレス)
openjdk-8-jre-zero - Zero/Shark を用いた OpenJDK 用の代替 JVM
openjdk-8-source - OpenJDK 開発キット (JDK) ソースファイル
OpenJDK 8 を導入してこのシステムの規定値に設定します.
% sudo apt install openjdk-8-jre
% sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 4 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 自動モード
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 手動モード
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 手動モード
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1069 手動モード
* 4 /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/java 317 手動モード
Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java を使います
% where java
/usr/bin/java
% /usr/bin/java -version
openjdk version "1.8.0_72-internal"
OpenJDK Runtime Environment (build 1.8.0_72-internal-b05)
OpenJDK 64-Bit Server VM (build 25.72-b05, mixed mode)
% /usr/bin/java -jar ~/bin/josm-latest.jar
無事起動して,警告メッセージは表示されなくなりました :)
もし,他の Java アプリケーションが OpenJDK 8 を嫌がる場合はそちらを優先して JOSM は以下のようにして起動するようにしてもいいかもしれません.
% /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar ~/bin/josm-latest.jar