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があると、エラーで実行そのものが全くできない。
なんかうまい方法がありそうな気もするんだけど、思いつかない。





