2009年5月10日日曜日

MavenからGAE/Jの単体テスト - Java6でも大丈夫だった

先のエントリで「Java6でdatanucleusのエンハンサが実行できないー!」と叫んでいたけど、単なる凡ミスでした、お騒がせしてすいませんでした。手っ取り早く原因をお伝えしますと、エンハンサがJava5のjavacで走っていました!!

  1. $JAVA_HOMEには確かにJava6を設定してあるし、そもそもJava6のjavacが使われていなかったらmaven-compiler-pluginのsource/targetで"1.6"を指定してある箇所でエラーが出るもんなぁ。mavenは間違いなくJava6で走ってる。なのになぜ…?datanuclesとかあんま耳になじみが無いライブラリを使ってるからこんな事になるんじゃねぇの!?
  2. 念のため"$ echo $JAVA_HOME"してみると、ちゃんとJava6のフォルダが指定されている。
  3. がしかし!"$ javac -version"してみると"javac 1.5.0_16"とか帰って来た!?なるほど、確かにJAVA_HOMEの指定しかしていないしな…。。。mavenはそっちを見てるからJava6で走ってるのは間違いないし、これは関係ないだろ。
  4. pom.xmlを眺めていると、maven-datanucleus-pluginの設定に"fork=true"の設定が!

fork=falseしたら問題無く実行されました…。

エンハンサの動作がうさんくせーとか思ってたから、あーまた行き詰まったよイヤだよホントもぅ、とか思って思考が停止してますた。

コメントを投稿