FooBar.java ファイルをコンパイルするとします。
$ javac FooBar.java
正常にコンパイルされたら、通常どおり実行します。
$ Java FooBar < in.txt
期待どおりの出力が得られます。ソース コード (FooBar.java) を変更して別のものを出力し、再度コンパイルすると、最初と同じ出力が得られます。
これは本当に私を怒らせています... javacのキャッシュはありますか? FooBar.class を削除して再コンパイルしても、初期のソース コードから出力が得られます。これを解決する唯一の方法は、FooBar.java を削除し、別の名前の新しいファイルを作成することです (コードをコピーして貼り付けただけです)。
このバグ (?) は本当に私を悩ませています。これが発生する理由の解決策または説明を探しましたが、うまくいきませんでした。
これは私の問題に関連しているようですが、IDE を使用しておらず、クラスパスが作業フォルダーを指しているため、完全ではありません 。
ソースコードを更新するたびに新しいファイルを作成したくないので、これの原因を突き止めたいと思います...私はJava 1.6.0_27を搭載したWindowsを使用しています
読んでくれてありがとう...