Cygwinに快適なJava環境を構築した

CygwinにJavaをインストールしようと思い、Cygwinのsetup.exeやapt-cygからパッケージを探したのだが、見つからなかった。

調べてみるとCygwin用のJavaは提供されていないらしく、既存のCygwinユーザの方々は渋々Windows用のJavaを使っているようだ。しかし、Windows用のJavaをCygwinで使おうとすると、パスの書き方をWindowsのパスの書き方にしないといけなかったりで、なかなか煩わしい(Windowsのディレクトリ構造を表す円マークはCygwinではエスケープ文字という扱いがされていたりして)。

そこで、CygwinでJavaを快適に使うための方法が紹介されている記事を見つけたので、それを参考にしてjava_wrapperを導入してみたのでメモしておく。

java_wrapperを導入する

まずは、こちらのサイトからjava_wrapperをダウンロードする。
Cygwin上でJavaコマンドを快適に使用する環境 プロジェクト日本語トップページ – SourceForge.JP

ダウンロードしたjava_wrapperをCygwinの/binに配置する。

続いて、環境変数JAVA_HOMEにWindows版のJavaがインストールされている(binディレクトリが存在するディレクトリ)を設定する。[システムのプロパティ]->[詳細設定]->[環境変数]->[システム環境変数]-[新規]から変数名をJAVA_HOME、変数値をC:\Program Files\pleiades\java\8として設定する(変数値はそれぞれの環境で異なるので要確認)。

Cygwinの/binディレクトリに移動し、以下のコマンドを実行する。

./java_wrapper createsymlinks

このコマンドは、単にWindows版Javaのbinディレクトリにある.exeと名前の付いたプログラム名をコピーし、”javaw”などの実行用のシンボリックリンクを自動生成するものである。

尚、このコマンドを実行した際に”○○○のシンボリックリンクの作成に失敗しました”のようなエラーが表示されるが、気にしなくて良い(私がこの記事を書いている2015年3月10日時点でのjava_wrapperの最終更新日は2011年09月19日となっているので、2011年当時のWindows版Javaのbinディレクトリと最新版のJavaのbinディレクトリでは構成に差異がある可能性が高いため)。

Cygwinのmintty上で以下のようなコマンドを実行して、正常に設定できているかを確認する。

java -version

実際のレスポンス

java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)

参考
CygwinでJavaを快適に使う