<< 2008/02/24 | Home | 2008/02/26 >>
PR: 転職    転職    合宿免許    漫画    シルバー    ブライダルエステ    墓地・霊園    葬式   

xjcの出力ソースエンコーディング

xjcでスキーマからJavaソースに変換する時、出力エンコーディングが指定できない。そんなばかなと思ったけど、コマンドラインオプションには無いし、スキーマの中にannotateする方法も見つからない。普通は、大きな問題にならないのだろうけど、jaxb生成ファイルと、手で書いたソースの両方からJavaDocを生成しようとすると、どうしようもなくなる。

UTF-8がデフォルトの環境だと、jaxb生成ソースもUTF-8になる。ならば、手書きソースもUTF-8にしておけば良い。でも、これをWindows-31Jがデフォルトの環境に持って行くと困ることになる。javacまでは、ソースの格納場所を分けたりして、なんとかなるんだけど、javadocは、やっぱり1つにまとめたい。でもソースがバラバラのエンコーディングで記述されているソースを、JavaDocで処理することはできない。

XMLみたいに、Javaのソースも中にエンコーディングを明示的に書けると良かったのにねぇ。ついでにタブのサイズとかも明示的に書ければ、いらぬ争いを生まなくて済むのかも。

P.S. とりあえずJDK6付属版は、どうにもならない感じなので、jaxbのページから、2.1.6を入手、

java -Dfile.encoding=UTF-8 -jar jaxb_home/lib/jaxb-xjc.jar ...

で回避。

Groovyって動的にimportすることはできないのかな。

各人の環境設定のコミット合戦にならないように、環境設定をPath.groovy.sampleに入れておいて、それぞれでPath.groovyにコピーして使うように(Path.groovy.sampleだけレポジトリに登録)する。

で、gant fileの中で、Path.groovyがなかったら、Path.groovy.sampleから自動コピーして続行できるといいんだけど、そもそもgant fileの中にimport Pathがあると、エラーで実行そのものが全くできない。

なんかうまい方法がありそうな気もするんだけど、思いつかない。

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8