今後の Java Web Start の立ち位置
(1) まずJava Web StartはOracleの技術なので、OpenJDKには含まれていません。 そのためOracle JRE/JDKを手動ダウンロードする必要がある。(2) しかもJava Web StartはJava SE 8からJava SE 11への移行に伴って廃止されるので、Java SE 11には含まれていません。 Java SE 8は2019/1から商用サポートが切れ、セキュリティ的にも問題が出てきますが、仕方ない。 Java SE 8をダウンロードしましょう。
(3) さらにJava SE 8はいくつかのOSでは日本語表示に問題があります。 特にUbuntuはデフォルトでサポートされていないので日本語は文字化けます。 解決策はこことかここで語られてますが、Ubuntu 18.04以降を対象とした対策は以下のようになります。
文字化けを直す方法
まずはOracle JRE/JDKをtarballで拾ってきてどこかに配置します。もちろん apt + PPA で拾ってきても良い。 私は /opt/jre1.8.0_191/ に配置しました。次に /opt/jre1.8.0_191/lib/fonts に移動してfallbackディレクトリを作り、その中に日本語フォントへのシンボリックリンクを作成します。 デフォルトのUbuntu 18.04では Noto Sans CJK / Noto Serif CJK のどちらかを使う事になるでしょう。
cd /opt/jre1.8.0_191/lib/fonts/
mkdir fallback && cd fallback
sudo ln -s /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc .
sudo ln -s /usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc .
ちなみにUbuntuに限らず、Javaがデフォルトで対応しているOSごとのフォントサポート状況は以下のコマンドで確認できます。
対応するディレクトリがない=対応していない場合は上記のようなフォント設定が必要になる。
ls -altr /opt/jre1.8.0_191/lib/fontconfig*
ここまでくれば後は普通にJava Web Startが使えるようになります。 実行したい jnlpファイルを以下のコマンドで実行しましょう。
/opt/jre1.8.0_191/bin/javaws foobar.jnlp
今後、Java Web Startは上記3つのトラップをかい潜ってようやく使えるものになります。 執筆時点では2の問題が起きてないのでマシですが、来年ハマる人が続出しそう…。
0 件のコメント:
コメントを投稿