2011-09-11 13 views
0

いくつかのイメージファイルを変更した後でJavaクラスを削除してもう一度コンパイルしましたが、実行時に変更が反映されていません!Javaクラスは削除され、再度コンパイルされますが、変更されません。

コードがかなり大きいので、ここに投稿することはできませんが、その理由は何ですか?デコンパイラを使って削除するのではなく、デコンパイルする必要がありますか?

+0

IDEを使用していますか? – home

+0

私はGeanyとEclipseを使用します –

+2

あなたは間違いなく逆コンパイルをする必要はありません。コンパイルが成功したと思いますか?誤って間違ったディレクトリにある古いバージョンのクラスを参照していない、生成されたクラスを実行していますか? –

答えて

1

いいえ、逆コンパイラはここでお手伝いしません。どちらかが間違った.javaファイルをコンパイルしているか、または間違った.classファイルをロードしています。

java-verbose:classを実行して、クラスのロード先のダンプを取得します。 javaコマンドラインでパラメータを設定する-verbose:class

http://www.ibm.com/developerworks/java/library/j-dyn0429/

クラスのロード処理のトレースを出力します。リスト3は、このパラメータを指定してリスト2のプログラムを実行しているから、出力の一部を示しています

リスト3.一部-verbose:class出力

... 
[Loaded java.lang.Object from /usr/java/j2sdk1.4.1/jre/lib/rt.jar] 
... 
+0

メインクラスエラーが見つかりませんでしたので、これを実行できませんでした –

1

Javaソースファイルを削除した場合は、再コンパイル時にクラスファイルが削除されることは避けてください。ビルドを「クリーンアップ」する必要があります。通常、Eclipseや他のツールがこれを実行したり、強制的に「クリーン」なコマンドを提供します。

+0

.javaファイルを開くときに、このオプションが無効になっているので、私はCleanを許可しません。 –

+0

個々のファイルではなくプロジェクトをきれいにします。クリーンとは、コンパイラやその他のビルドプロセスによって生成されたファイルを削除することです。 – Jeremy

0

これは私に起こったたびに、解決策は簡単となって、私ました本当に馬鹿なことをしていた。私が問題を真っ直ぐ見て、それを見ていない時の50%。残りの50%は、私が絶対に信頼できると思っていた地域、通常は自分自身の創造物でした。

これを解決するには、絶対に編集的でなければなりません。これを行う前に完全にバックアップされていることを確認してください。次に、オペレーティングシステムを使用して、IDEではなくファイルを削除します。 IDE IDEを使用して、それらが削除されていることを確認してください。ディスクの他のクラスファイルのコピーをスキャンし、名前を変更します。他のJavaファイルのコピーをスキャンし、の名前をに変更します。 Javaファイルの名前を変更してと入力してください。あなたが使用していることを確認してください。クラスファイルの日付を確認してください。独自の型付きクラスパスを使用して、オペレーティングシステムから直接プログラムを実行します。さらに良い方法は、すべてのクラスを新しいディレクトリに置き、そこから実行することです。 (Javaは、OSとIDEがあなたに伝えない隠しファイルを見つけているかもしれません)本当に劇的な方法であなたのJavaファイルを変更してください。あなたのコード変更は実際に何もしません。

私は本当にあなたに何をすべきかを伝えることはできません。ただ正しい心の枠に入れてください。問題があると思われる領域の外に問題があるか、それを見るときに問題が表示されません。だから、検索の境界を広げ、すべてに疑問を抱き、一歩か二度見ただけでステップがうまくいくとは思わないでください。

また、何か他のことをしばらくお待ちください。このソリューションはどこからでもあなたを襲ってくれるかもしれません。私はしばらくの間働いていることがわかりましたが、何か他のことをすると最良の結果が得られますが、問題の途中で何をするのか分かりません。

関連する問題