【SikuliX】【Java】Sikuli X を無料のJavaで利用するには・・・

GUIを自動で操作するフリーツール:Sikuli IDE ですが、動作させるには「Java」が必要になります。

しかし、Oracle の Java が基本的には有料でしか使用ができなくなりました。

そこで今回は、Sikuli X を完全無料で使用するための方法をまとめます。

スポンサーリンク

そもそもJavaは、無料なんです

一般に「java ダウンロード」などの検索ワードでGoogle検索などをかけると、https://www.java.com/ja/download/ie_manual.jsp で示されるOrracleのページでダウンロードすることになると思います。

このOracleでダウンロードできるJavaが有料化したために、「Javaが有料化する」と勘違いしてしまう人も多いと思います。

ですが、「Java言語」は無償で使用できるものです。

サン・マイクロシステムズ(現Oracle社)が作成した「Open JDK」というものがあります。これが全てのJava言語の源となるものです。

Open JDKとは・・・

プログラミング言語Java の「フリー」かつ「オープンソース実装」のものになります。そのため、ソースコードを商用、非商用の目的を問わず、利用、修正、頒布することが可能なものです。

GNU General Public Licenseバージョン2(GPLv2)の下で提供されています。

これを基に、様々な提供者がカスタマイズした Java を提供してくれます。この提供者がOracleであるものが、今回有料化する「Oracle JDK」です。

以下にOpen JDK と提供者・開発者の関係を図示します。

Open JDK と Oracle JDK の違いは?

先述の通り、「Oracle JDK」やその他の提供物は、「Open JDK」をベースとして作られている。そのため、どれも基本的な仕様に大きな差異はありません。各社が独自の機能を組み込んで提供しているというのが、実情です。

「Oracle JDK」と「Open JDK」の違いでいうと、以下が Oracle に追加されています。

  • Applets/JRE Browser plug-in
  • JavaFX
  • Derby DB
  • Color Matching
  • Cryptography Extensions
  • Error Report Transmission
  • Java Web Start
  • VisualVM
  • Font Rendering/Fonts
  • Anti-Aliased 2D Rendering
  • Timezone Updater Tool
  • SNMP Protocol Adapter

Open JDK のディストリビューション

一例ですが、以下にOpen JDKのディストリビューションをまとめてみます。

これらのうち1つを利用していて別のものを使用する際は、ソースコードの改修が必要となる点がありますので、注意が必要です。例えば、Oracle JDK から AdoptOpen JDK に移行する場合などです。

ディストリビューション説明
AdoptOpenJDKEclipse 財団と IBM がメンテナンスするディストリビューションです。

IBM が持っていた独自の仮想マシン実装も OSS 化され合わせて提供されます。

Amazon CorrettoAmazon がメンテナンスするディストリビューションです。

Amazon社でも採用実績があり、何千もの本番サービスで利用されています。

Corretto は Java SE 標準と互換性があると認定されています。

Red Hat OpenJDKRed Hat 社は以前から独自のディストリビューションとサポートを提供しています。

現在 RHEL サーバを使用している場合は、これがベストな選択のようです。

Zulu EnterpriseMicrosoft Azure 環境向けに Azul Systems が提供しているディストリビューションです。

Azure 上であれば無償利用出来ます。

スポンサーリンク

サポート期限

基本的に、提供されているOpen JDKのディストリビューションは、LTS( Long Term Supported )である 直近のバージョンの Open JDKを基に作られます。そのため、Open JDKのリリース(更新状況)に依存します。

2021年10月時点では、Java 8に対しては、以下のようにサポート期限が設定されているようです。

  • AdoptOpenJDK :2026年5月
  • Amazon Corretto:2026年6月
  • Red Hat OpenJDK:2026年5月
  • Zulu Enterprise:2030年12月

※ただし、Zulu Enterprise に関しては、JDK 8 は、Eclipse Temurin(Eclipse財団) に移管されるようです( 「OpenJDK の Zulu for Azure ビルドの更新プログラム、サポート、提供の終了」 を参照のこと)

導入のしやすさ

基本的には、対象のディストリビューションをダウンロードしてインストールするのみです。

ダウンロードまでのHPの見やすさ・手順などは、Amazon Correttoが一番明確かと思います。参考として、以下に記載しておきます。

  1. https://aws.amazon.com/jp/corretto/ にアクセスする。
  2. 「Amazon Corretto 8 をダウンロードする」を押下する。
  3. [インストールしたいOS] > [JDK] > [msiファイルのダウンロードリンク] を選択する。
  4. ダウンロードしたインストーラーを実行して、インストールする。

セキュリティ

セキュリティやパフォーマンス向上などは、Open JDKを基に各社で対応されています。

そのため、各社の技術力にゆだねられ、採用実績などから判断する必要があるでしょう。

将来性

サポート期限は、どのディストリビューションも似たようなものです。

開発面では、Amazon が、自社で導入されている実績があり、積極的に進めている印象はあります。

Zulu Enterpriseおいては、サポート期限は長いですが、移管などもあり、将来性としてはどう変わっていくか不透明だと思います。

SikuliXを使う上でOpenJDKは有効か?

SikuliX を扱う上では、Open JDKでも問題はなさそうです。

なお、Oracle JDKの別バージョンで無償のもの Java 17(2021/09/17リリース)を試してみましたが、SikuliXは動作しませんでした。これは、2021年10月時点では、SikuliX側が Java 8でしか動作が保証されていないためです。

また、Oracle Java 8 を使用していた環境からOpen JDKの環境変更を行う場合でも、必要になる手順は簡単です。

  1. Javaのアンインストール(コントロールパネルを利用)
  2. Open JDKのインストール

の2ステップのみで簡単に移行できます。SikuliX側で何か設定を行うような必要はありません。

どのOpenJDKがおすすめか?

先述のOpenJDKの中で個人的にお勧めしたいのは、Amazon Correttoでしょう。

SikuliX を扱う上では、Java 8 であれば、問題なく動作しました。また、以下の3つの理由が大きなところでしょう。

  • 導入のしやすさという点では、Amazon が日本語サイトであることもあり、迷うことなく導入することができる。
  • Amazon Corettoの場合、自社内のサービス(AWS)で積極的に利用している。そのため、少なくとも「安定性」「セキュリティ」面では実績があり、安心して利用できることが予想される。
  • LTSであり「パフォーマンスの向上とセキュリティ修正などのアップデートを四半期ごとにリリースされる予定」とHP上で明記されている。※サポート期限は、Open JDKの開発状況に依存し、継続的に行われる

まとめ

今回は、Sikuli X を元に、無料のJavaの使用方法を記載しました。

しかし、最近のアプリで Java (特に「8」相当のもの)を使用しているものは意外に多く、意識せずに使用していることも多いです。マインドマップの作成ツールであるFreemindもJavaがないと使用できません。

もし、無料でJavaを使用したくなったら、ぜひ試してみて下さい。

スポンサーリンク