- 2010-12-17 (金) 19:40
- プログラム
最近Eclipseを3.2から最新の3.6に移行したのだが、なんと従来動いていたantタスクが動作しなくなってしまった。
具体的に問題の発生しているタスクはjavacで、Eclipse経由でantを動かすと
compile:
[javac] C:\hoge\fuga\build.xml:86: warning: ‘includeantruntime’ was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 26 source files to C:\hoge\fuga\classes
とこのような感じで止まってしまう。
しかしソースにエラーがない場合はそのまま通るので、どうもjavacがエラーや警告を出した場合に止まってしまうようだ。
コマンドラインからのant実行では正常に実行されるため、Eclipseのほうに問題があるのは間違いない。
そう思って少し調べてみたところ、どうもEclipseコンソールのエンコーディングに関する変更が色々悪さをしているようだ。
web上ではjavacではなくjavadocの実行で同じような症例になっている事例がいくつかあり、出力のエンコーディングを指定することで解決出来ている模様。
だが困ったことにうちで起きているのはJavadocではなくjavacのエラー出力である。
encodingという属性はあるが、こいつはあくまでソースファイルのエンコーディング指定だ。エラーログの指定ではない。
というか固定でShift-JISって…(´Д`三)
結局簡単な解決策を見いだせなかったので渋々前のバージョンに戻すことにしたが、何かもうEclipse使うの止めたほうがいい気がしてきたな。
でも周りではEclipseのプロジェクト形式で出してくれっていう要求が結構あるんだよなぁ…うーむ。
コメント:2
- yuanyuanl 11-05-25 (水) 17:14
-
最後解決しましたか?解決した場合、私に教えてくださいませんか?
メールアドレス:yuanyuanl@hotmail.co.jp - yuanyuanl 11-05-25 (水) 17:24
-
あ、解決しました。
外部ツールの構成の JRE タブで
「ワークスペースと同じ JRE で実行」
を選択し、実行してみてください。