ブログ

Armadillo-IoT ゲートウェイG3・G3LでOpenJDK11を使用する

at_takuma.fukuda
2020年2月2日 14時55分

Armadillo-IoTシリーズでJavaを使用したアプリケーション開発を行う場合、
Javaライセンスの契約を行わずにJavaを使用するには、Open JDKを使用する必要があります。

OracleはOpen JDK11よりそれまで有償で提供していたOracle JDKの機能をOpenJDKで公開するとしておりますので、
OpenJDKのバージョンは11以降を選定されることをお勧めします。
https://www.oracle.com/technetwork/jp/articles/java/ja-topics/jdk-release-model-4487660-ja.html

ただし、動作の互換性について保証されてはいないので、十分な検証の上でご判断願います。

OpenJDKはソースコードでの配布が基本となっております。

下記サイトでOracleがビルドしたOpenJDKのバイナリが配布されておりますが、
こちらは全て64bit OS環境で使用するためのものとなります。
https://jdk.java.net/java-se-ri/

そのため、Armadillo上で使用出来るOpenJDKのバイナリをOracleのサイトから入手することは出来ません。

またOpen JDK11はDebian GNU/Linux 9 (Stretch)のパッケージとして配布されていないため、
以下のページでご案内しているのと同様の手順ではインストール出来ません。

*OpenJDK 8をapt-get でインストールする手順
https://users.atmark-techno.com/blog/8700/3335

ただし、Debian GNU/Linux 10 (Buster)以降ではパッケージとして配布されていて、
Debian backportsにより作成されたStretchへの移植版パッケージがございます。

*Debian Backportsについての説明
https://www.debian.org/News/2010/20100905.ja.html
*stretch-backportsのopenjdk-11-jdkについての説明
https://packages.debian.org/ja/stretch-backports/java/openjdk-11-jdk

そのため、apt-getの利用リポジトリにstretch-backportsを追加すれば、
apt-get installコマンドでOpenJDK 11をインストールすることが出来ます。

リポジトリへの追加

リポジトリは「/etc/apt/sources.list」で管理されています。
そのため、以下のようにコマンドでファイルを編集し、

vi /etc/apt/sources.list

末尾に以下を追記してください。

deb http://deb.debian.org/debian stretch-backports main contrib non-free

これでapt-get installコマンドでstretch-backportsも参照されるようになるので、
以下のコマンドでOpenJDKのインストールを実行してください。

apt-get install openjdk-11-jdk

ただし、下記ページの説明にありますように、品質・互換性検査が不十分であるという点にご留意ください。
https://www.debian.or.jp/using/other-release.html