プロジェクト

全般

プロフィール

AdoptOpenJDK8のインストール方法

  • デフォルトのJavaバージョン(11)がインストールされている場合は、Java8インストール後に下記手順で切り替える
    $ sudo update-alternatives --config java
    

Ubuntu

  • 下記の作業メモはDebian10での実行だが、Ubuntuでも同様でOK
  • Debian10は公式リポジトリにopenjdk-8-jdkのパッケージがなかったので、adoptopenjdk8をインストールした
    $ sudo apt update
    $ sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
    $ wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
    $ sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
    $ sudo apt update
    $ sudo apt install adoptopenjdk-8-hotspot
    $ java -version
    openjdk version "1.8.0_232" 
    OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
    OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
    
  • Ubuntu20.04で上記手順でインストール後の確認
    $ dpkg -l | grep adoptopenjdk
    ii  adoptopenjdk-8-hotspot                     8u262-b10-2                         amd64        OpenJDK Development Kit 8 (JDK) with Hotspot by AdoptOpenJDK
    

Raspbian buster

  • pkg_install_raspbian.shを使って環境を整えている場合、下記パッケージのインストールだけでOK
    $ sudo apt install -y apt-transport-https software-properties-common
    $ wget -O - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
    $ sudo vim /etc/apt/sources.list
    
    以下を追加
    deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main Release
    
    $ sudo apt update
    $ sudo apt install adoptopenjdk-8-hotspot
    $ java -version
    openjdk version "1.8.0_212" 
    OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)
    OpenJDK Client VM (build 25.212-b01, mixed mode)
    

Mac

  • openrtpを起動するためにインストールした
  • Homebrewを使ってインストールする
  • インストール手順は、下記Homebrewのサイトでrubyコマンドでのインストールスクリプトが表示されているので、それをコピペして実行すれば良い
    https://brew.sh/index_ja
  • homebrew-cask-versionsの導入 ・・・最新バージョン以外のJavaインストールに必要
    $ brew tap homebrew/cask-versions
    
  • java8はライセンス関係でインストールできないとのこと
  • AdoptOpenJDK8をインストールする
    $ brew cask install adoptopenjdk8
    

Windows

  • OracleのサイトからJDK8のダウンロードが可能なので、通常はこれを利用しているはず
  • 下記は、OpenRTM-aist 1.2.2版のmsiに含めているJREの話
  • OpenRTM-aist 1.2.2 のmsiに含めているJREは、AdoptOpenJDK8のJREとなっている
  • 詳細は下記readme.txtに記載 ・・・ブラウザでアクセスすると文字化けで読めないので、下記に抜粋
    https://openrtm.org/svn/OpenJDK-jre/trunk/openjdk_jre/readme.txt
    ▼変更(2020/04/20記)
    ・OpwnRTM-aist1.2.2版のWindows用インストーラmsiに含めるJREは、AdoptOpenJDKが提供しているバイナリを利用する
    https://adoptopenjdk.net/index.html
    ・これまで使用していたバイナリは現時点(2020/04)よりだいぶ前からダウンロードできなくなり、
     バージョンが古いままでセキュリティアップデートが全く当たっていないため
    
    ・提供されるJREは64bit版、32bit版があるが、これまでと同様に32bit版JREを64bit版msiに含める
    ⇒OpenRTM-aist2.0からは64bit版のみのサポート予定なので、今回は最小変更にて対応したいため
    
    1)Windows用 x86 のzipファイルをダウンロードする
    OpenJDK8U-jre_x86-32_windows_hotspot_8u252b09.zip
    
    2)ダウンロードしたzipを展開し、サブディレクトリとしてjreを追加してzipで固める。jdk8u252-b09-jre.zip
    
        jdk8u252-b09-jre
        └─jre  ←★追加
            │
            │  ASSEMBLY_EXCEPTION
            │  LICENSE
            │  release
            │  THIRD_PARTY_README
            │
            ├─bin
            └─lib
    

問題点

  • AdoptOpenJDK8環境ではOpenRTM-aist-Javaのdocのビルドでエラーになる(2020/03、Ubuntu18.04で確認)
      [javadoc] /root/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/Constants.java:4: error: no tag name after @
      [javadoc]  * {@.ja sun-orb ????}
      [javadoc]    ^
      [javadoc] /root/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/Constants.java:5: error: no tag name after @
      [javadoc]  * {@.en Constants for sun-orb}
      [javadoc]    ^
      [javadoc] /root/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/Constants.java:14: error: no tag name after @
      [javadoc]      * {@.ja Manager?????????????????????????}
      :
      [javadoc] 100 errors
      [javadoc] 100 warnings
    
    BUILD SUCCESSFUL 
    
  • 片見さんにご連絡したところ、以下のお返事を頂く
     javadocのエラーですが、
    カスタムタグを使うために、
    タグレットを使っております。
    以下にjavaファイルとclassファイルがあります。
    
    OpenRTM-aist-Java/jp.go.aist.rtm.RTC/util
    
    #classファイルで準備してありますので、
    #AdoptOpenJDK8でビルドする必要があります。
    
    このディレクトリにjavaファイルビルドのための
    buildTaglet.sh
    がありますので、
    これを実行してから
    再度、ビルドをお願いできないでしょうか?
    
  • 河内の返事
    教えて頂いたbuildTaglet.shを実行したところ、com.sun.javadocが無いというエラーに
    なります。 どうすればよいでしょうか。
    ----
    EnOffTaglet.java:2: error: package com.sun.javadoc does not exist import com.sun.javadoc.Tag;
                          ^
    EnOffTaglet.java:3: error: package com.sun.tools.doclets does not exist import com.sun.tools.doclets.Taglet;
                                ^
        :
    -----
    
    こちらのビルドはDockerを使い、Ubuntu18.04環境にて行っています。
    
  • ここまで