Javadocで日本語APIリファレンスを作る
Javaに付属のコマンドツールに「javadoc」というのがあります。
このコマンドにより,JavaのソースファイルからHTML形式のAPIリファレンスを自動生成することができます。
Sunが公開しているJava組み込みクラスのAPIリファレンスは,Javadocで生成したAPIリファレンスの一例です。
Javadocはデフォルトで英語のソースファイルから英語のドキュメントを生成しようとします。
Javadocで日本語のドキュメントを生成するには,Javadocのコマンド実行時に以下のオプション指定を行います。
1)Javadocが生成するメッセージを英語から日本語にしたい。
→Javadocのコマンドオプションで,
「-locale ja」
と指定することで,ドキュメントのナビゲーションバーなどのメッセージが日本語になります。このメッセージの文字コードは,下記4)のオプション指定で決まります。
このロケールについての解説は「java.util.Locale」を参照。また,ここで指定できる言語コードのリストはこちらを参照。
2)生成されるHTMLファイルのヘッダで文字コード指定を行いたい。
→Javadocのコマンドオプションで,
「-charset "文字セット名"」(注:文字セット名はダブルクォーテーションで囲む)
を指定することで,ドキュメントのHTMLヘッダに
<meta http-equiv="Content-Type" content="text/html; charset=文字セット名"> |
ここで指定できる日本語の文字セット名には「Shift_JIS」「euc-jp」「iso-2022-jp」「utf-8」「Windows-31J」があります。
ここで指定する文字セット名は下記4)の文字エンコーディング名と合わせる必要があります。HTMLヘッダにこの行を付加しない場合はブラウザのデフォルト値が適用されます。
ここで指定できる文字セット名のリストはこちらを参照。
3)Javaソースファイルの文字コードを指定したい。
→Javadocのコマンドオプションで,
「-encoding 文字エンコーディング名」
を指定します。これと下記4)との組み合わせで,ソースファイル内の文字列をHTMLに出力するときの文字コード変換の内容が決まります。
指定可能な文字エンコーディング:[Java 1.4][Java 1.5]
4)出力するHTMLファイルの文字コードを指定したい。
→Javadocのコマンドオプションで,
「-docencoding 文字エンコーディング名」
を指定します。これにより,上記1)の日本語メッセージの文字コードが決まります。また,上記3)との組み合わせで,ソースファイル内の文字列をHTMLに出力するときの文字コード変換の内容が決まります。
指定可能な文字エンコーディング:[Java 1.4][Java 1.5]
コマンド実行例:UTF-8のソースファイルからSJISのドキュメントを生成する。
javadoc -locale ja -charset "Shift_JIS" -encoding UTF-8 -docencoding SJIS -d docs -private *.java |
■関連情報
Javadocの基本的な使い方(JavaでHelloWorld)
Sun:Javadocのドキュメント[Solaris版][Windows版]
Java:Shift_JISのエイリアスの変更について
■関連書籍をAmazonで検索:[Java
●エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方




| 固定リンク
「プログラミング」カテゴリの記事
- シェルスクリプト:「.svn」ディレクトリを一括削除する(2015.03.23)
- JavaScript:excanvasを使ってWebページに画像を表示する(2012.05.07)
- C言語:TRUEとFALSEの値(2012.05.06)
- Java:CSVパーサを作る(その3) - RFC4180対応 後編(2008.06.13)
- Java:CSVパーサを作る(その2) - RFC4180対応 前編(2008.06.12)
「Java」カテゴリの記事
- Java:Reader/Writerにおけるclose()メソッド呼び出しの流儀(2015.06.29)
- Java:例外が起こったときに実行されるコードとされないコード(2015.03.31)
- Java:前回作成したコードの処理速度を比較する(2015.03.15)
- Java:数値を3桁ごとのカンマ区切りの文字列にする(2015.03.02)
- Java:全角の数値文字列を数値として受け付ける(2015.01.19)