Eclipse入門: 日本語APIドキュメントをローカル環境、及び、ホバー表示で使用する。
目次
以前「Android入門: Androidの開発環境を作成する。(Linux/Windows対応版)」という記事で、日本語化プラグインPleiadesを使用してEclipseを日本語化する方法を説明した。PleiadesではEclipseのメニューやダイアログ、及び、エディタ上でJavaの標準APIのクラスやメソッドにカーソルを合わせてShift+F2を押下したときに表示されるドキュメントが日本語化される。
しかし、このドキュメントについてはインターネット上にあるJDKの日本語APIドキュメントを参照しているため、インターネットに接続していない環境では表示できない。また、エディタ上でJavaの標準APIのクラスやメソッドにマウスカーソルを合わせるとそれらの説明がホバー表示されるが、取得元のJDKのソースコードのコメントが英語で記述されているため、表示される説明も英語のままとなる。
そこで今回は、日本語APIドキュメントをローカルから参照する方法、及び、ホバー表示を日本語化する方法について説明する。
使用環境
-
Windows 7 Professional SP1
-
Ubuntu 11.04 Desktop 日本語Remix
-
JDK 6 update 27
-
Eclipse 3.7 Indigo + Pleiades 1.3.3
日本語APIドキュメントをローカル環境にインストールする方法を説明する。インターネット上の日本語APIドキュメントについては、OracleのJavaのドキュメントページから[API]をクリックするとバージョンと言語ごとにドキュメントをまとめたページに遷移するので、例えば、[JDK Programmer Guides/6]の[Japanese]をクリックすれば、JDK 6の日本語APIドキュメントが参照できる。EclipseにPleiadesをインストールするとJavadocの参照先が英語版からこちらの日本語版に変更される。尚、現時点ではJDK 7の日本語APIドキュメントは準備されていない。
日本語APIドキュメントをローカル環境で使用するには、これらのファイルをまとめてダウンロードする必要がある。しかし、Javaのダウンロードページから[Java SE 6 Documentation]の[Download]をクリックしドキュメントのダウンロードページに遷移しても英語版のアーカイブしか見当たらない。
というわけで、OracleとSunのサイトをあちこち探してみたが、以前は用意されていた日本語APIドキュメントのアーカイブが何処にも見当たらない。それらしいリンクをクリックしても英語版のページに飛ばされるだけである。どうやらサイトがリニューアルされたさいに行方不明になってしまったようだ。
いろいろ検索した結果、2chのプログラム板のJavaスレッドの書き込みから何とか無事にアーカイブを入手することができた。44さんありがとう!!因みにファイル名は以下の通りである。また、以降ファイルをダウンロードしたディレクトリを<download_dir>
とする。
jdk-6u21-docs-ja.zip
また、複数バージョンのJDKをインストールして使い分けている場合、そのバージョンにあった日本語APIドキュメントのアーカイブが必要となる。updateのバージョンが異なる程度では殆ど問題ないが、メジャーバージョンが異なるとAPIの構成も異なるため問題が発生する。
2011/10/02追記:上記スレッドは過去ログ倉庫に落ちてしまったので、以下に該当部分を転載する。
http://hibari.2ch.net/test/read.cgi/tech/1312958339/41-44 42 名前:デフォルトの名無しさん[] 投稿日:2011/08/14(日) 11:26:57.48 Java6 の Javadoc 日本語ってダウンロードできなくなったの? ja のリンクや言語の選択すらできん 43 名前:デフォルトの名無しさん[sage] 投稿日:2011/08/14(日) 11:38:29.02 所詮はオラクルがやることだからな 44 名前:デフォルトの名無しさん[sage] 投稿日:2011/08/14(日) 13:58:54.51 Oracleは正直よくわからん。 http://bit.ly/p8j9OL jdk-6u21-docs-ja.zip
特にインストーラーなどは用意されていないので、ダウンロードしたアーカイブを対応するVersionの<java_home>
にコピー、及び、展開する。尚、以降JDKがインストールされたディレクトリを<java_home>
とする。
Linuxの場合
-
アーカイブを
<java_home>
にコピーする。$ sudo cp
<download_dir>
/jdk-6u21-docs-ja.zip /opt/jdk1.6.0_27/ -
unzipを使用してアーカイブを
<java_home>
の下に展開する。$ cd /opt/jdk1.6.0_27/ $ sudo unzip jdk-6u21-docs-ja.zip
Windowsの場合
-
管理所特権でコマンドプロンプトを起動する。
ツールバーの[スタート] ボタンをクリックする。→[検索] ボックスに「コマンド」と入力する。→結果一覧で [コマンド プロンプト] を右クリックし、[管理者として実行] を選択する。
-
アーカイブを
<java_home>
にコピーする。> copy
<download_dir>
/jdk-6u21-docs-ja.zip "C:\Program Files\Java\jdk1.6.0_27\" -
7-zipなどのファイルアーカイバを使用してアーカイブを
<java_home>
の下に展開する。> c: > cd "\Program Files\Java\jdk1.6.0_27" > "C:\Program Files\7-Zip\7z.exe" x jdk-6u21-docs-ja.zip
MergeDocはJDKのソースコードと日本語APIドキュメントをマージするツールである。MergeDocを使用してソースコードのコメントを日本語化すれば、標準APIのホバー表示だけでなくソースコードを参照したときのコメントも日本語化されることになる。
尚、MorgeDocのダウンロードページには「Eclipse 3.2 以降ではホバー表示は API ドキュメント HTML ソースから取得できるようになったため、ホバー表示のみを使用する場合は、MergeDoc は不要です。」とあるが、現状のEclipseではホバー表示の内容はソースコード→APIドキュメントの順番に検索されるため、ソースコードの参照とホーバー表示の日本語化を両立させるにはやはりMergedocが必要となる。
MergeDocは日本語化プラグインのPleiadesと同じMergeDoc
Projectのサイトで配布されている。MergeDoc Projectのトップページから左側のメニューの[MergeDoc
/ Javadoc 日本語化]をクリックするとMorgeDocのダウンロードページに遷移するので、「ダウンロード」から「MergeDoc本体」の最新版である[Version
2.1.4]をダウンロードする。尚、アーカイブのファイル名は以下の通り。また、以降ファイルをダウンロードしたディレクトリを<download_dir>
とする。
mergedoc.zip
特にインストーラーなどは用意されていないので、ダウンロードしたアーカイブを適当なディレクトリに展開する。
Linuxの場合
ホームディレクトリの下にディレクトリmergedocを作成し、unzipを使用してアーカイブをその中に展開する。
$ cd
$ mkdir mergedoc
$ cd mergedoc
$ unzip <download_dir>
/mergedoc.zip
Windowsの場合
C:\optの下にディレクトリmergedocを作成し、7-zipなどのファイルアーカイバを使用してアーカイブをその中に展開する。
> c:
> cd \opt
> mkdir mergedoc
> cd mergedoc
> "C:\Program Files\7-Zip\7z.exe" x <download_dir>
\mergedoc.zip
Mergedocを使用してJDKのソースコードと日本語APIドキュメントをマージする方法を説明する。
MergedocはJavaアプリケーションのため、javaコマンドを使用して起動する。尚、-serverオプションを付けると処理が高速になるらしい。
Linuxの場合
$ cd ~/mergedoc $ java -server -jar mergedoc.jar
Windowsの場合
> c: > cd \opt\mergedoc > java -server -jar mergedoc.jar
Mergedocの操作方法について説明する。
-
Mergedocが起動したら「基本設定」の以下の項目に値を設定する。
-
APIドキュメントディレクトリ
日本語APIドキュメントを格納しているディレクトリを設定する。具体的にはpackage-listファイルがあるディレクトリとなる。また、エンコーディングの設定は「EUC-JP」とする。
-
入力ソースアーカイブファイル
Javaのソースコードのアーカイブを設定する。また、元のソースコードにはASCII以外の文字は含まれていないのでエンコーディングの設定は意味がないが、とりあえず「UTF-8」とする。
-
出力ソースアーカイブファイル
マージしたソースコードを出力する新規のアーカイブファイルを設定する。また、エンコーディングの設定は「UTF-8」とする。
Linuxの場合
以降
<user_home>
はユーザーのホームディレクトリとする。APIドキュメントディレクトリ /opt/jdk1.6.0_27/docs/ja/api EUC-JP 入力ソースアーカイブファイル /opt/jdk1.6.0_27/src.zip UTF-8 出力ソースアーカイブファイル <user_home>
/src_ja_utf8.zipUTF-8 Windowsの場合
APIドキュメントディレクトリ C:\Program Files\Java\jdk1.6.0_27\docs\ja\api EUC-JP 入力ソースアーカイブファイル C:\Program Files\Java\jdk1.6.0_27\src.zip UTF-8 出力ソースアーカイブファイル C:\opt\src_ja_utf8.zip UTF-8 また、「詳細設定」はデフォルトのままどの項目もチェックなしとする。
-
-
[実行]ボタンを押下して、マージ処理を開始する。途中コンソールに以下のような警告がいくつか表示されるが、無視しても特に問題ないようだ。
WARN Comment -
<コード名>
行数調整不可のためマージ出来ませんでした。 WARN JavaBuffer - Javadoc コメントの後のシグネチャを取得できませんでした。 -
マージが終了したら、[終了]ボタンを押下してアプリケーションを終了する。
マージしたソースコードのアーカイブを<java_home>
に移動する。
Linuxの場合
-
アーカイブを
<java_home>
に移動する。$ sudo mv
<user_home>
/src_ja_utf8.zip /opt/jdk1.6.0_27/
Windowsの場合
-
管理所特権でコマンドプロンプトを起動する。
ツールバーの[スタート] ボタンをクリックする。→[検索] ボックスに「コマンド」と入力する。→結果一覧で [コマンド プロンプト] を右クリックし、[管理者として実行] を選択する。
-
アーカイブを
<java_home>
に移動する。> move C:\opt\src_ja_utf8.zip "C:\Program Files\Java\jdk1.6.0_27\"
インストールした日本語APIドキュメント、及び、マージしたソースコードのアーカイブをEclipseから使用する方法について説明する。
Eclipseの設定で、以下のJREシステム・ライブラリーの「Javadoc ロケーション」、及び、「ソース添付」項目をローカル環境の日本語APIドキュメント、及び、マージしたソースコードのアーカイブに変更する。
-
<java_home>
/jre/lib/resources.jar -
<java_home>
/jre/lib/rt.jar -
<java_home>
/jre/lib/jsse.jar -
<java_home>
/jre/lib/jce.jar -
<java_home>
/jre/lib/charsets.jar
また、複数バージョンのJDKをインストールして使い分けている場合、JDK毎に同様の設定が必要となる。
-
Eclipseのウィンドウメニューから[設定]を選択する。
-
設定ダイアログで、左側の一覧の[Java]を展開し、[インストール済の JRE]を選択する。
-
「インストール済のJRE」の一覧から「jdk1.6.0_27」を選択し、[編集]ボタンを押下する。
-
JREの編集ダイアログで、「JREの編集JREシステム・ライブラリー」から「
<java_home>
/jre/lib/resources.jar」を選択し、[javadoc ロケーション]ボタンを押下する。Javadocダイアログが表示される。デフォルトでは「Javadoc URL (例 ~)」ラジオボタンが選択され、「Javadoc ローケーション・パス」にインターネット上の日本語APIドキュメントのURLが設定されている。
Javadoc ローケーション・パス http://java.sun.com/javase/ja/6/docs/ja/api/ -
Javadocダイアログで、「アーカイブ内の Javadoc」ラジオボタンを選択し、「アーカイブ・パス」にローカル環境の日本語APIドキュメントのアーカイブのパス、「アーカイブファイル内のパス」に「docs/ja/api」を設定する。
Linuxの場合
アーカイブ・パス /opt/jdk1.6.0_27/jdk-6u21-docs-ja.zip アーカイブファイル内のパス docs/ja/api Windowsの場合
アーカイブ・パス C:\Program Files\Java\jdk1.6.0_27\jdk-6u21-docs-ja.zip アーカイブファイル内のパス docs/ja/api -
[検証]ボタンを押下して以下の確認ダイアログが表示されることを確認する。
Javadocの参照方法ロケーションの検証中 [!] ロケーションは有効のようです。ファイル'package-list'および'index.html'が検出されました。
ただし、Windowsでは以下の警告ダイアログが表示される。
Javadocの参照方法ロケーションの検証中 [!] Javadoc ロケーションは検証できません。
どうやらEclipceの現バージョンではパスに空白が入っていると検証に失敗してしまうようだ。しかし、動作に問題は無いのでこのまま設定する。
-
[OK]ボタンを押下して、Javadocダイアログをクローズする。
-
JREの編集ダイアログで、「JREの編集JREシステム・ライブラリー」から「<パス名>/rt.jar」を選択し、[ソース添付]ボタンを押下する。
ソース添付構成ダイアログが表示される。デフォルトでは「ローケーション・パス」に<java_home>の下のソースコードのアーカイブのパスが設定されている。
Linuxの場合
ローケーション・パス /opt/jdk1.6.0_27/src.zip Windowsの場合
ローケーション・パス C:/Program Files/Java/jdk1.6.0_27/src.zip -
ソース添付構成ダイアログで、「アーカイブ・パス」にマージしたソースコードのアーカイブのパスを設定する。
Linuxの場合
ローケーション・パス /opt/jdk1.6.0_27/src_ja_utf8.zip Windowsの場合
ローケーション・パス C:/Program Files/Java/jdk1.6.0_27/src_ja_utf8.zip -
[OK]ボタンを押下して、ソース添付構成ダイアログをクローズする。
-
JREの編集ダイアログに戻るので、以下のライブラリの「Javadoc ロケーション」、及び、「ソース添付」も同様に変更する。
rt.jar,jsse.jar,jce.jar,charsets.jar
-
[完了]ボタンを押下して、JREの編集ダイアログをクローズする。
-
[OK]ボタンを押下して、設定ダイアログをクローズする。
設定が終わったら適当なソースに「String s;」と記述して、カーソルを合わせてShift+F2を押下する。内部Webブラウザーにドキュメントが表示されたら画面を右クリックしてプロパティを選択する。プロパティの「アドレス(URL)」が以下のようにローカル環境のアーカイブになっていれば、「Javadoc ロケーション」の設定は正しく行われている。
http://127.0.0.1:<ポート番号>
/help/nftopic/jar:file:<java_home>
/jdk-6u21-docs-ja.zip!/docs/ja/api/java/lang/String.html
また、「String s;」にマウスカーソルを合わせると表示されるホバー表示、及び、Ctrl+左クリックで表示されるソースコードのコメントが日本語化されていれば、「ソース添付」の設定は正しく行われている。
以上
2011/10/02、日本語APIドキュメントのダウンロードに追記した。
最近のコメント