Javadocを英語で生成しようと思ったらちょっと嵌ったのでメモ。
EclipseでJavadocを英語で生成する場合
Eclipseで、「プロジェクト」→「Javadoc の生成」からJavadocを生成させる場合、そのまま生成するとデフォルトのロケール設定が使用されて日本語でJavadocが生成される。
これを英語で生成させたい。
「Javadoc の生成」→「次へ」→「次へ」で表示されるダイアログに「追加の javadoc オプション」というのがあるので、これにロケールの指定「-locale en_US」を加えればいいのかと思ったが、「javadoc: エラー - オプション -locale は、コマンド行の最初に指定する必要があります。」というエラーが出てしまう。
仕方なく「VM オプション」の方に「-locale en_US」を指定すると、一応は英語でJavadocを生成できた。
で、これを毎回ダイアログからポチポチ実行するのも面倒なので、Antで実行させようと思ったら嵌った。
AntでJavadocを英語で生成する場合
単純に上の「Javadoc の生成」ダイアログで、「この Javadoc エクスポートの設定を Ant スクリプトとして保管」にチェックを付けてEclipseに生成させたjavadoc.xmlをAntで実行しても、「javadoc: エラー - オプション -locale は、コマンド行の最初に指定する必要があります。」という上と同じエラーが出てしまう。
- Eclipseに生成させたjavadoc.xml
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project default="javadoc"> <target name="javadoc"> <javadoc access="public" additionalparam="-locale en_US -encoding utf-8 -charset utf-8" author="true" classpath="." destdir="doc" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.6" sourcepath="src" splitindex="true" use="true" version="true" /> </target> </project>
javadocタグにはlocale属性があるから、代わりにそっちで指定すればいいのかと思ったんだけど、相変わらず日本語で生成されてしまう。
- ダメだったパターン(抜粋)
-
<target name="javadoc"> <javadoc locale="en_US" access="public" additionalparam="-encoding utf-8 -charset utf-8" author="true" classpath="." ・・・省略・・・ /> </target>
すごく悩んだ末、「locale」の代わりに「-J-Duser.language=en_US」を指定したら、何とか英語で生成できた。
- 何故かうまくいったパターン(抜粋)
-
<target name="javadoc"> <javadoc access="public" additionalparam="-J-Duser.language=en_US -encoding utf-8 -charset utf-8" author="true" classpath="." ・・・省略・・・ /> </target>
だいぶ無理やり感が強いんだけど、こんなんであってんだろうか?正攻法じゃない気がする。 そもそも何でjavadocタグのlocale属性が効かないんだろう。バグなんじゃないだろうか?
まぁ、悩んでも仕方ないので、他に正式な方法が見つかるまではこれでよしとしよう。
0 件のコメント:
コメントを投稿