ELCが利用するJava8を置き換える方法

提供: Support
移動先: 案内検索

概要

エンバカデロの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を置き換える手順となります。

  1. Adopt Open JDKのサイトからを入手するOpenJDK 8 (LTS) HotSpotを入手する
    Thumb03000147ujpn.png
    この記事を公開時点での OpenJDK 8 (LTS)の最新版はjdk8u265-b01ですが、このサイトからリリースされている最新版が入手できます。
  2. OpenJDK 8 (LTS)をインストールする
    Windows 64ビット版のOpenJDK 8 (LTS)をインストールすると、デフォルトで以下のパスにJREが配置されます。
    C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre
    
    このうち、8.0.265.01に相当する箇所は、入手したバージョンによって変わりますので、インストールされたパスは入手したバージョンに置き換えて考慮してください。
  3. ELCが利用するJava8を置き換える
    ELCの64ビット版をインストールすると、デフォルトで以下のパスに配置されます。
    C:\Program Files\Embarcadero\ELC5.34\LicenseCenter
    
    このうち、ELC5.34に相当する箇所は、インストールした ELCのバージョンによって変わりますので、インストールされたパスは入手したバージョンに置き換えて考慮してください。
    ELCが利用するJavaを置き換えるためには、一度Windowsサービスアプリーションとして登録しているELCを解除(アンインストール)する必要があります。
    1. ELCのサービスをアンインストールする
      コマンドプロンプトを管理者権限で実行し、以下のファイルを実行してください。
      C:\Program Files\Embarcadero\ELC5.34\LicenseCenter\setup\uninstallService.bat
      
      以下は、uninstallService.batの実行例です。
      Thumb03000148ujpn.png
      JAVA_HOMEに設定されているパスがELCのバンドル版Javaが使用されていることが確認できます。
    2. 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を保存してください。
    3. ELCをWindowsサービスとして登録(インストール)する
      コマンドプロンプトを管理者権限で実行し、installService.batを実行してください。
      以下は、installService.batの実行例です。
      Thumb03000149ujpn.png
      上図のように”successfully installed”と表示されれば、正常にELCはWindowsサービスとして登録されています。
    4. 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を実行した場合は、以下の通りです。
      Thumb03000150ujpn.png
      JAVA_HOMEに設定されているパスがELCのバンドル版Javaではなく、OpenJDKが使用されていることが確認できます。


注意点

ELCのバンドル版のJREを削除し、以下のパスに配置されているアンインストーラを実行すると

C:\Program Files\Embarcadero\ELC5.34\UninstallerData\Uninstall AppWave Enterprise License Center.exe

以下の図のようなエラーが発生することがあります。

Thumb03000151ujpn.png

アンインストーラー(InstallAware)もJavaで実行しているため、環境変数PATH内にjavaのパスが見つからない場合に上図のエラーが発生します。

そのためもし同様のエラーに遭遇した場合は、環境変数PATHに以下のJavaのパスを追加することで、改善できます。

例えば、今回紹介したOpenJDKの場合は、以下のパスを追加してください。

C:\Program Files\AdoptOpenJDK\jdk-8.0.265.01-hotspot\jre

関連情報

Embarcadero License Center 5.3の設定