Play frameworkでjavacが見つからない | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

こんにちは、中村です。

最近、Windows上でPlay frameworkをいじって遊んでるんですが、サーバ起動時にいきなりエラーが出て困惑したので、解決策をメモっておこうと思います。
エラーメッセージは「java.io.IOException: Cannot run program "javac"」。

当然JDKのbinにはパスが通っていて、コンソールからもjavacにアクセスできるようになってます。
「どういうことなんだ...」と、丸一日悩んでたんですが、結局私の環境変数の設定がマズいことがわかりました。

JAVA_HOMEに設定した環境変数の文字列に"(ダブルクオート)が入ってるとjavacを見つけてくれないみたいです。
下のように、ダブルクオートを消してあげたら上手く動くようになりました。

JAVA_HOME="C:\Program Files\Java\jdk1.6.0_45"

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45

なんでJAVA_HOMEにダブルクオートが入ってたのかがちょっと覚えてないんですが、これで動かなくなるのってちょっと微妙な動きな気がしますね。

別の原因でjavacが見つからなかったりすることもあるみたいですが、その場合にも大体パスの設定が間違ってたりすることが原因みたいです。
もしも同じような現象が起きた方がいれば、まずはパス設定周りを疑ってみるのがよさそうですね。

私の記事は今回も環境構築の話になってしまったわけですが、最近、私の周りでは関数プログラミングの話題が盛り上がってきてるので、次回は流行りに乗ってそこらへんの話をしてみようと思います。