プロが教えるわが家の防犯対策術!

エクリプスで開発してます。
これまで javaファイルを修正・保存後、
メニューの 実行 --> Javaアプリケーション とすると、
最新のクラスが反映されて実行できていたんですが、
この一週間くらい前から 最新クラスが反映されなくなって
しまいました。

プロジェクト管理ツールに Maven2 を使用しているのですが、
Maven2 で該当プロジェクトを実行 --> プロジェクトのクリーン
を行うと、きちんと最新クラスが反映されます。
ちなみに、ファイル管理には SVN を使用しています。

なぜ急に、実行 --> Javaアプリケーション(もしくは 実行
--> 構成及び実行)で最新クラスが実行されなくなったのか、
また、どうやったら最新クラスを実行できるようになるのか、
分かりましたら、よろしくお願いします。

A 回答 (2件)

最新のクラスが反映されないのは、実行前にコンパイルがされていないからだと思います。



多分ですが、今まではmaruuuさんのEclipseの設定で「起動前にビルド」が有効になっていたのだと思います。
自分の環境(Eclipse3.1.1+言語パック)だと以下のような感じで設定可能です。

「ウィンドウ」→「設定」→「実行/デバッグ」→「起動」
で、その画面内に「起動前に(必要に応じて)ビルド」というチェックボックスがあるのでそれにチェックします。

この設定で実行時に自動で更新したファイルのみコンパイルされます。
(Eclipseのバージョンが違っても大体同じ所に設定する所があると思います。)
    • good
    • 1
この回答へのお礼

Pkakedashiさん、回答いただきありがとうございます。

早速、設定の汎用オプションをチェックしましたが、
「起動前に(必要に応じて)ビルド」にチェックは
入っていました。

確かに、環境周りだとは思うのですが。。。
すみません、せっかく教えて頂いたのに。

もうちょっと いろいろ試してみたいと思います。

お礼日時:2007/09/26 09:27

自信があっただけにちょっとガーンΣ( ̄Д ̄;)



でも、めげずに回答させて下さい。
Maven2を使用しているとのことですが、最新クラスが反映されなくなった直前にMavenによってclassファイルのクリーン等しませんでしたか?

自分はMavenでは無くantを使っているのですが、antでコンパイルやクリーンをした後にEclipseの方でビルドをすると修正したファイルがあるにもかかわらずコンパイルがされませんでした。
(クリーン後はclassファイルが無いにもかかわらずです。)
Eclipseで再度ビルドが有効にするには、Eclipseのタブの「プロジェクト」からクリーンを行った後に、ビルドすると今度はコンパイルが通ります。

なので、一度「プロジェクト」からクリーンした後にビルドし、その後、修正→実行とした時に修正したクラスが反映されるか試してみたらいかがでしょうか?

ただ、今回は何故antでコンパイルやクリーンした後にEclipseのビルドが有効になってくれないのか理由が分かっていないので、もしかすると違うかもしれません。。。
今回は、自信が有りませんので参考意見として捉えて下さい。
    • good
    • 0
この回答へのお礼

Pkakedashiさん、再度 ありがとうございます!

通常 Maven2 でビルドを行う場合、
1) Maven2 clean
2) Maven2 Build
3) Eclipse 「プロジェクト」-->「クリーン」
という方法を取っていました。(ご存知とは思いますが
Maven2 だけですと、実行したクラスで使っている他のクラスを
実行時に認識しない場合がありますので)

そこで、ご指摘の通り、
1) Eclipse 「プロジェクト」-->「クリーン」
2) Maven2 clean
3) Maven2 Build
で、実行を行うと クラスを認識しませんでしたので、再度、
4) Eclipse 「プロジェクト」-->「クリーン」
として、実行したいクラスに修正を加え、保存して実行したところ、
先週のように、すぐ最新のクラスとして 反映してくれるように
なりました!(^^)v

ただ、「プロジェクト」の「自動的にビルド」にチェックを
入れた後 なので、そこも原因だったのでは? という気もしてます・・・

とりあえずはうまく行きそうなので、ホッとしているところです。
原因が明確に分かっていないところが 残念ですが、
回答頂いたお陰で 良くなりましたので、本当に感謝しています。
ありがとうございました!

お礼日時:2007/09/26 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています