JDK9 の Windows 8.1 64bit での Build

Java

ちまたでは先日リリースされた Java SE 8 で盛り上がってます。

Java SE 8 は革新的な変革をとげ、多くの Java デベロッパに愛されるでしょう。

さて、今日はせっかちな人の為に・・・と言いつつ新しい物好きの私は Windows 環境での OpenJDK  JDK9 の構築に挑戦してみました。

あくまで洒落です!

OpenJDK の Build Infrastructure Group のページにはまだ JDK9 のBuild ドキュメントはアップされてないようです。

それで私は、JDK8 のビルドガイドを参考に駄目元で試してみました。

ビルドに必要なツールを準備します。

Windows SDK for Windows 7.1

Microsoft VisualC++ 2010 Express

Cygwin (64 bit)

make

freetype

Ant

Java SE 8

以上です。

ダウンロードしたプログラムのなかには圧縮されたものもありますからお好みの解凍ツールをご用意くださいませ。

まず、Java SE 8 と Ant をインストールします。

そして、Path を設定します。

次に Windows SDK for Windows 7.1 をインストールします。

1

 

そして次は、Microsoft VisualC++ 2010 Express をインストールします。

2

 

では次に、Cygwin (64 bit) をインストールします。

3

 

インストールの途中で Cygwin にインストールするプログラムを選択します。

下記のものをインストールするようにビルドガイドにはあります。

ar.exe
Devel
binutils
The GNU assembler, linker and binary utilities

make.exe
Devel
make
The GNU version of the ‘make’ utility built for CYGWIN

m4.exe
Interpreters
m4
GNU implementation of the traditional Unix macro processor

cpio.exe
Utils
cpio
A program to manage archives of files

gawk.exe
Utils
awk
Pattern-directed scanning and processing language

file.exe
Utils
file
Determines file type using ‘magic’ numbers

zip.exe
Archive
zip
Package and compress (archive) files

unzip.exe
Archive
unzip
Extract compressed files in a ZIP archive

free.exe
System
procps
Display amount of free and used memory in the system

 

私の環境では Windows OS 側の Mercurial が正しく動作せず、Cygwin に Mercurial をインストールすることで回避できました。

33

 

Cygwin のインストールには 自国の ftp サーバーを選んでも少し時間がかかるので小休憩をします。(^_^;)

Cygwin のインストールが終わったら次は make を展開配備します。

その前にビルド作業用のディレクトリを作成しておきましょう。

今回私は、C ドライブ直下に OpenJDK と言う名前のディレクトリを作りました。

そこに make を展開配備してください。

OpenJDK ディレクトリ内に、make-3-82 と言う名前のディレクトリが作成されその中にファイルが納められていれば OK です。

ディレクトリの名前は make のバージョンによって変わります。

次に同様に freetype を OpenJDK ディレクトリ内に展開配備します。

OpenJDK ディレクトリ内に freetype が展開配備されたら OK です。

それでは先ほど展開配備した make をインストールしましょう。

Cygwin を起動します。

スクリーンショットを撮り忘れたのですがターミナルウィンドウが表示されます。

次のようにコマンドを打ち込みます。

cd /cygdrive/c/OpenJDK/make-3-82

make-3-82 ディレクトリまで移動したら次のようにコマンドを打ち込みます。

./configure

そして最後に

make

これで make のインストールは完了です。

さて、次は freetype ライブラリを作ります。

Cygwin ターミナルで

cd /cygdrive/c/OpenJDK/freetype

とコマンドを打ち込み freetype ディレクトリまで移動します。

そして

./configure

と打ち込みます。

ここでついでにこれから作成するライブラリを格納するディレクトリを作成しておきます。

mkdir lib

と打ち込めば freetype ディレクトリの中に lib ディレクトリが作成されます。

それでは freetype ライブラリを作りましょう。

C:\OpenJDK\freetype\builds\win32\vc2010\freetype.vcxproj をダブルクリックして VisualC++ Express 2010 を起動させます。

そして、ソリューションエクスプローラーの中にある freetype を右クリックしてコンテキストメニューを表示させ、プロパティをクリックします。

11

 

プロパティページが表示されます。

12

 

これを次のように編集していきます。

アクティブ ソリューションプラットホームを新規作成します。

13

 

新しいプラットホームの名前を x64 と入力します。

14

 

構成を Release Multithreaded に変更します。

15

 

もう一度構成マネージャーを表示させます。

16

 

このようになります。

これを編集していきます。

まず、全般を編集します。

17

 

出力ディレクトリを編集します。

18

 

19

 

中間ディレクトリを編集します。

20

 

ターゲット名を編集します。

21

 

プラットフォーム ツールセットを Windows7.1SDK に変更します。

22

 

このように全般の編集を終えます。

23

 

それでは freetype を右クリックして表示されたコンテキストメニューでビルドをクリックします。

24

 

出力に freetype.lib が作成されたことが確認できます。

25

 

もう一度プロパティページを表示させ、プロジェクトの規定値の構成の種類を変更します。

ダイナミック ライブラリ(.dll)に変更します。

26

 

27

 

もう一度 freetype をビルドします。

出力に freetype.dll ができたことが確認できます。

28

 

freetype.lib と freetype.dll を配備します。

Cygwin ターミナルを起動して下記コマンドを入力します。

cd /cygdrive/c/OpenJDK/freetype/objs/win64/vc2010

そして

cp -R freetype.dll freetype.lib /cygdrive/c/OpenJDK/freetype/lib

これで配備完了です。

Linux 環境だとこんな面倒なことはしなくていいのですが・・・

Windows 環境だと非常に面倒です!

でも、後はお気楽に作業できます。

それでは JDK9 をビルドする作業ディレクトリを作成します。

Cygwin ターミナルを起動して下記コマンドを入力します。

cd /cygdrive/C/OpenJDK/

そして MyJDK9 というディレクトリをそこに作ります。

mkdir MyJDK9

これで準備完了です。

Mercurial でソースをダウンロードしてビルドするだけです。

今回ソースはこちらのリポジトリよりダウンロードしてきました。

http://hg.openjdk.java.net/jdk9/dev

これとは別に http://hg.openjdk.java.net/jdk9/jdk9 もあるようですが試していません。

それでは Cygwin ターミナルを起動して下記コマンドを入力します。

hg clone http://hg.openjdk.java.net/jdk9/dev MyJDK9

53

 

そして、Mercurial でダウンロードしたファイルを使用してソースをダウンロードします。

cd MyJDK9

MyJDK9 ディレクトリへ移動したら get_source.sh を実行してソースを取得します。

これは通信環境にもよりますが時間がかかるのでコーヒータイムとします。^_^;

55

56

57

 

コーヒータイムの間にソースのダウンロードは済んだようですね。

では make する(ビルドする)ために Configure を実行しなくてはいけません。

Cygwin ターミナルで MyJDK9 ディレクトリに移動します。(既にそこにいるなら必要ないです)

cd /cygdrive/C/OpenJDK/MyJDK9

そして、make と freetype のオプションを設定して実行します。

./configure MAKE=/cygdrive/C/OpenJDK/make-3-82/make.exe with_freetype=/cygdrive/C/OpenJDK/freetype

58

59

 

最後に make を実行してビルド完了となります。

make all

これも時間がかかるのでコーヒーのおかわりをします。( ̄▽ ̄;)

61

 

これで終わりです。

ちょっと確認してみましょう。

cd build/windows-x86_64-normal-server-release/images/j2sdk-image と入力して移動します。

63

 

そして bin/java –version と打ち込みます。

openjdk version “1.9.0-internal”  … と表示され完了です。

64

 

念には念をで Windows のコマンドプロンプトでも確認してみました。

65

 

さらに本当に動くのか試してみた。

NetBeans IDE 8.0 を OpenJDK9 で動かしてみた。

71

 

Hello World は動くことを確認しました。

JavaFX は無いような・・・残念!

と言うことで近い将来正式なビルドガイドがリリースされ、ビルド方法も変わると思うのであくまで洒落でってことで!

ところで Java 9 の注目の新機能って Project Jigsaw の他に何かあったっけ?

 

Hatena タグ: