ELCが利用するJava8を置き換える方法
概要
エンバカデロのEnterprise License Center(以下、ELC)を実行するためには、Java8のインストールが必要で、現時点ではJava8以外の実行環境では動作保証を行っておりません。
なお、ELCの実行に必要なJava8はインストーラーにバンドルされているため、ELCと共にJava8もインストールされます。
ただし、ELC 5.34の時点でバンドルされているJava8のバージョンは、1.8.0_162で、最新版ではありません。
もしこのバージョンで何か脆弱性が見つかった場合は、大きなセキュリティホールとなります。
しかしながら、現在はOracle社よりJava8の無償提供も終了しており、ELCのバンドル版として常に最新のJava8を提供することが難しい状況となっています。
この問題を解決するためには、ELCのバンドル版以外のJava8を利用するという選択肢があります。
ここでは、ELCが利用するJava8としてAdopt Open JDKに置き換える方法に関して解説させていただきます。
解説
以下は、ELC自体のインストールが完了している状態で、ELCが利用するJava8を置き換える手順となります。
- Adopt Open JDKのサイトからを入手するOpenJDK 8 (LTS) HotSpotを入手する
- OpenJDK 8 (LTS)をインストールする
- Windows 64ビット版のOpenJDK 8 (LTS)をインストールすると、デフォルトで以下のパスにJREが配置されます。
C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre
- このうち、8.0.265.01に相当する箇所は、入手したバージョンによって変わりますので、インストールされたパスは入手したバージョンに置き換えて考慮してください。
- ELCが利用するJava8を置き換える
- ELCの64ビット版をインストールすると、デフォルトで以下のパスに配置されます。
C:\Program Files\Embarcadero\ELC5.34\LicenseCenter
- このうち、ELC5.34に相当する箇所は、インストールした ELCのバージョンによって変わりますので、インストールされたパスは入手したバージョンに置き換えて考慮してください。
- ELCが利用するJavaを置き換えるためには、一度Windowsサービスアプリーションとして登録しているELCを解除(アンインストール)する必要があります。
- ELCのサービスをアンインストールする
- ELCをWindowsサービスとして登録するバッチファイルを変更する
- 以下のパスに配置されているバッチファイルをテキストエディタ(例えば、メモ帳)で開いてください。
C:\Program Files\Embarcadero\ELC5.34\LicenseCenter\setup\installService.bat
- installService.batを開くと、デフォルトでは以下のようにJAVA_HOMEが設定されています。
- <変更前>
.. SET JAVA_HOME=C:\Program Files\Embarcadero\ELC5.34\Java\jre8 ..
- これをインストールしたOpenJDKのパスに変更します。
- 例えば、jdk-8.0.265.01の場合は、以下のように書き換えます。
- <変更後>
.. SET JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre ..
- JAVA_HOMEを変更後、installService.batを保存してください。
- ELCをWindowsサービスとして登録(インストール)する
- ELCをWindowsサービスとして解除するバッチファイルを変更する
- 最後にELCをWindowsサービスから解除するバッチファイルのJAVA_HOMEも変更しておきましょう。
- 以下のパスに配置されているバッチファイルをテキストエディタ(例えば、メモ帳)で開いてください。
C:\Program Files\Embarcadero\ELC5.34\LicenseCenter\bin\elise.bat
- elise.batを開くと、デフォルトでは以下のようにJAVA_HOMEが設定されています。
- <変更前>
.. set JAVA_HOME=C:\Program Files\Embarcadero\ELC5.34\Java\jre8 ..
- こちらもインストールしたOpenJDKのパスに書き換えます。
- <変更後>
.. set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre ..
- JAVA_HOMEを変更後、elise.batを保存してください。
- サービスを解除するバッチファイルは、uninstallService.batですが、内部でelise.batを実行しているため、このファイルのJAVA_HOMEを変更するだけで結構です。
- コマンドプロンプトを管理者権限で実行し、uninstallService.batを実行した場合は、以下の通りです。
- JAVA_HOMEに設定されているパスがELCのバンドル版Javaではなく、OpenJDKが使用されていることが確認できます。
注意点
ELCのバンドル版のJREを削除し、以下のパスに配置されているアンインストーラを実行すると
C:\Program Files\Embarcadero\ELC5.34\UninstallerData\Uninstall AppWave Enterprise License Center.exe
以下の図のようなエラーが発生することがあります。
アンインストーラー(InstallAware)もJavaで実行しているため、環境変数PATH内にjavaのパスが見つからない場合に上図のエラーが発生します。
そのためもし同様のエラーに遭遇した場合は、環境変数PATHに以下のJavaのパスを追加することで、改善できます。
例えば、今回紹介したOpenJDKの場合は、以下のパスを追加してください。
C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre