Ubuntu環境でOpenJDK11ソースコードを編集する

   著作権に関する声明:転載を歓迎します。出典を明記してください。ありがとうございます。 https://blog.csdn.net/boling_cavalry/article/details/83303317

準備オーケー###

  1. Ubuntuのバージョンは16.04.5LTSです。
  2. OpenJDK11ソースコードがローカルにダウンロードされていることを確認します。ダウンロード方法については、記事["Ubuntu環境でOpenJDK11ソースコードをダウンロードする"](https://blog.csdn.net/boling_cavalry/article/details/83240035)、["Dockerを使用してOpenJDK11ソースコードをダウンロードする"](https://blog.csdn.net/boling_cavalry/article/details/83245148);を参照してください。
  3. OpenJDK10をブートJDKとしてインストールします。インストールプロセスについては、記事["UbuntuでのOpenJDK10のインストール"](https://blog.csdn.net/boling_cavalry/article/details/83213608)を参照してください。

重要なフォルダの場所###

  1. OpenJDK11ソースコードが解凍された後、それは次のディレクトリにあるjdk11という名前のフォルダになります:/ home / willzhao / work / compileopenjdk
  2. OpenJDK10のインストール後、全体としてjdk-10という名前のフォルダーが次のディレクトリにあります:/ usr / lib / jvm、したがって、ブートJDKの完全なディレクトリは/ usr / lib / jvm / jdk-10です。

上記は私の側のファイルパスです。私のものと矛盾する場合は問題ありません。対応するものに変更するように注意してください。

正式に開始###

  1. コンパイル時には、ブートJDKのjreディレクトリにあるlibライブラリが使用されます。ここにはjreのないJDKしかないため、jreディレクトリを作成し、jdkのlibフォルダをこのディレクトリにコピーして、次のコマンドを実行する必要があります。
mkdir /usr/lib/jvm/jdk-10/jre && cp -r /usr/lib/jvm/jdk-10/lib /usr/lib/jvm/jdk-10/jre/
  1. ルートアカウントを使用したので、OpenJDK11ソースコードフォルダーの所有者とユーザーグループをルートに変更し、ディレクトリ/ home / willzhao / work / compileopenjdkで次のコマンドを実行しました。
chown -R root jdk11 && chgrp -R root jdk11
  1. 必要な依存アプリケーションをインストールします。
apt-get install -y autoconf zip libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfontconfig1-dev libasound2-dev
  1. OpenJDK11ソースコード/ home / willzhao / work / compileopenjdk / jdk11のディレクトリを入力します
  2. 構成が確認されたら、次の手順を実行した後、コンパイルを開始できます。
bash configure --with-num-cores=4--with-memory-size=8192

上記のコマンドで、–with-num-cores = 4はクアッドコアCPUがコンパイルに参加することを意味し、–with-memory-size = 8192は8Gメモリがコンパイルに参加することを意味します。コンピュータの実際の構成に従って調整してください。
構成が失敗した場合、関連するプロンプトが表示されます。プロンプトの内容に応じて調整してください。手順3でインストールされたアプリケーションは、構成チェックが失敗したときに実際にインストールするように求められます。

  1. 構成が確認された後、コンソールプロンプト情報はおおよそ次のようになります。
====================================================
A newconfiguration has been successfully created in/home/willzhao/work/compileopenjdk/jdk11/build/linux-x86_64-normal-server-release
using configure arguments '--with-num-cores=4 --with-memory-size=8192'.

Configuration summary:* Debug level:    release
* HS debug level: product
* JVM variants:   server
* JVM features:   server:'aot cds cmsgc compiler1 compiler2 epsilongc g1gc graal jfr jni-check jvmci jvmti management nmt parallelgc serialgc services vm-structs'* OpenJDK target: OS: linux, CPU architecture: x86, address length:64* Version string:11-internal+0-adhoc.root.jdk11(11-internal)

Tools summary:* Boot JDK:       openjdk version "10"2018-03-20 OpenJDK Runtime Environment 18.3(build 10+44) OpenJDK 64-Bit Server VM 18.3(build 10+44, mixed mode)(at /usr/lib/jvm/jdk-10)* Toolchain:gcc(GNU Compiler Collection)* C Compiler:     Version 5.4.0(at /usr/bin/gcc)* C++ Compiler:   Version 5.4.0(at /usr/bin/g++)

Build performance summary:* Cores to use:4* Memory limit:8192 MB
  1. コマンドmakeを実行してコンパイルを開始し、コンパイルが完了した後、コンソールが次の同様の情報を出力するのを待ちます。
Creating support/modules_cmds/jdk.pack/pack200 from1file(s)
Creating support/modules_cmds/jdk.pack/unpack200 from7file(s)
Creating support/modules_cmds/jdk.rmic/rmic from1file(s)
Creating support/modules_cmds/jdk.scripting.nashorn.shell/jjs from1file(s)
Creating support/modules_libs/jdk.sctp/libsctp.so from3file(s)
Creating support/modules_libs/jdk.security.auth/libjaas.so from1file(s)
Compiling 4 files for BUILD_JIGSAW_TOOLS
Stopping sjavac server
Finished building target 'default (exploded-image)'in configuration 'linux-x86_64-normal-server-release'
  1. jdk11 / build / linux-x86_64-normal-server-releaseディレクトリにあるbuild.logファイルを開いて、より詳細なログを確認します。
Creating support/modules_cmds/jdk.pack/unpack200 from7file(s)
Creating support/modules_cmds/jdk.rmic/rmic from1file(s)
Creating support/modules_cmds/jdk.scripting.nashorn.shell/jjs from1file(s)
Creating support/modules_libs/jdk.sctp/libsctp.so from3file(s)
Creating support/modules_libs/jdk.security.auth/libjaas.so from1file(s)
Compiling 4 files for BUILD_JIGSAW_TOOLS
- - - - - Build times -------
Start 2018-10-2314:45:20
End   2018-10-2314:53:5300:08:33 TOTAL
-------------------------
Finished building target 'default (exploded-image)'in configuration 'linux-x86_64-normal-server-release'
  1. jdk11 / build / linux-x86_64-normal-server-releaseディレクトリには、新しくビルドされたOpenJDKであるjdkディレクトリがあり、その中にbinディレクトリを入力してから、コマンド./java -versionを実行すると、最新のバージョン情報が表示されます。次のように、それはすでにバージョン11です:
root@willzhao-Lenovo-Ubuntu16:/home/willzhao/work/compileopenjdk/jdk11/build/linux-x86_64-normal-server-release/jdk/bin# ./java -version
openjdk version "11-internal"2018-09-25
OpenJDK Runtime Environment(build 11-internal+0-adhoc.root.jdk11)
OpenJDK 64-Bit Server VM(build 11-internal+0-adhoc.root.jdk11, mixed mode)

この時点で、OpenJDK11ソースコードに基づくコンパイルと構築は成功しており、/ etc / profileファイルで環境変数を設定することにより、新しいJDKを通常どおりに使用できます。

Recommended Posts

Ubuntu環境でOpenJDK11ソースコードを編集する
Ubuntu環境でOpenJDK11ソースコードをダウンロードする
Ubuntu環境でソースコードからxdebugをコンパイルしてインストールする方法
Ubuntu18.04.1のソースコードからOpenJDK8をコンパイルしてインストールします
Androidソースコードのコンパイル(ubuntu16.04 64ビット)
UbuntuでopenJDKを簡単にコンパイルする方法
Ubuntu20.04LTSでJava開発環境を構成する
Ubuntuサーバーへのノード環境のインストールについて
Ubuntu7.10でソフトウェアソースを変更する方法
Ubuntu18.04はソースコードを介してOdoo14チュートリアルをインストールします
Ubuntu環境でそれらのものをDockerする
UbuntuでTensorFlow使用環境を構成する方法
真新しいUbuntuにPython3環境をインストールする
Ubuntu環境でMySQLデータベースにリモート接続する
Ubuntu環境でのSSHのインストールと使用
ubuntu交換ソース
ubuntu環境でのMySQLのインストールと簡単な実践(1)
Ubuntu14.04でPython仮想環境を作成する方法
Ubuntu16.04環境でFTPサーバーをセットアップするためのチュートリアル
ubuntuの下のLinux環境で発生した問題を解決します
Ubuntuにmysql-pythoをインストールします
ubuntuサーブのNagios3
Ubuntuアップデートソフトウェアソース
UbuntuにOpenJDK10をインストールします
Ubuntu構成開発環境
ubuntuでスーパーバイザーを使用する
Ubuntuはオフラインソースを作成します
Ubuntu開発環境の構成
UbuntuTouch環境のセットアップ
Ubuntuにpythonをインストールする
Ubuntu19.10にJDKをインストールします
Ubuntu18.10はJava環境を構成します
ubuntu環境展開プロジェクト
memcacheをインストールしてubuntu環境で起動する方法
ubuntuで仮想環境を構築する過程で遭遇
Ubuntu16.04環境でPython3.6の下にDjangoをインストールするための詳細な手順
Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法