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 に移行する場合などです。
ディストリビューション | 説明 |
AdoptOpenJDK | Eclipse 財団と IBM がメンテナンスするディストリビューションです。 IBM が持っていた独自の仮想マシン実装も OSS 化され合わせて提供されます。 |
Amazon Corretto | Amazon がメンテナンスするディストリビューションです。 Amazon社でも採用実績があり、何千もの本番サービスで利用されています。 Corretto は Java SE 標準と互換性があると認定されています。 |
Red Hat OpenJDK | Red Hat 社は以前から独自のディストリビューションとサポートを提供しています。 現在 RHEL サーバを使用している場合は、これがベストな選択のようです。 |
Zulu Enterprise | Microsoft 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が一番明確かと思います。参考として、以下に記載しておきます。
- https://aws.amazon.com/jp/corretto/ にアクセスする。
- 「Amazon Corretto 8 をダウンロードする」を押下する。
- [インストールしたいOS] > [JDK] > [msiファイルのダウンロードリンク] を選択する。
- ダウンロードしたインストーラーを実行して、インストールする。
セキュリティ
セキュリティやパフォーマンス向上などは、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の環境変更を行う場合でも、必要になる手順は簡単です。
- Javaのアンインストール(コントロールパネルを利用)
- 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を使用したくなったら、ぜひ試してみて下さい。