2010-12-08 20 views
26

Netbeansを使用している別の開発者を助けようとしています。彼がNetbeans(6.9.1)で彼のコードを実行またはデバッグするとき、彼は "Uncompilable source code" RuntimeExceptionを得る。私はJavaでかなり経験がありますが、IntelliJにはもっと慣れていて、Netbeansをまったく使っていません。"コンパイル不可能なソースコード" NetbeansのRuntimeException

私はそれをやったことがありますし、Netbeansはエラーでもコードをコンパイルして、エラーでRuntimeExceptionを投げます。 (かなり悪い動作IMO、しかし、私はそれが有用であると思います。)私は彼にコンパイルエラーなしでプロジェクトを完全に再構築させるが、RuntimeExceptionはまだ起こっているようだ。私は彼がいくつか悪いキャッシュクラスのデータをどこかNetbeansの深いところに持っていると思う。

2質問:

  1. 互換性のないコードがどこにあるか、我々は見つけることができるようにキャッシュをクリアするための最良の方法は何ですか?
  2. この動作を無効にする方法はありますか?すべてがコンパイルされない限り、コードは実行されず/デバッグされないため、これらのRuntimeExceptionはコードに挿入されません。

私はグーグルでグーグルではありますが、これらの質問のいずれかの答えはまだ見つかりませんでした。


更新:詳細情報:

  1. オプションは、問題が離れて行かせる "保存時にコンパイル" をオフにします。 CoSを再びオンに戻すと例外が戻されます。残念ながら、これは修正ではありません.CoSは非常に便利なオプションです。
  2. http://netbeans.org/bugzilla/show_bug.cgi?id=182009は、最も近いバグレポートのようですが、「解決済みの不完全」として閉じられています。残念ながらバグは再現するのが難しいです。サードパーティ製のライブラリを呼び出すときにJavaライブラリのコードで例外が発生しているため、例外がスローされた時点で変更することはできません。そして、コードは何週間も働いて、突然このエラーを投げ始めます。理由は明白ではありません。
  3. 修正プログラムではなく、ビルドディレクトリ全体を手動で削除しようとしました。
+1

NetBeans 7.0.1でも発生します。 http://netbeans.org/bugzilla/show_bug.cgi?id=182009のステータスはREOPENEDになりました。 – OliBlogger

+1

[bug 178597](http://netbeans.org/bugzilla/show_bug.cgi?id=178597)および[bug 210053](http://netbeans.org/bugzilla/show_bug.cgi?id=210053)も参照してください。 – user250343

+0

+1 - NetBeansがなぜ「古い」パッケージのフォルダを展開時に再作成するのですか?と同じ理由で問題が発生しました。](http://stackoverflow.com/questions/17609712/why-does-netbeans-recreate -old-packages-on-deploy) – horgh

答えて

35

私たちは最終的に解決策を得ましたが、まだ状況がどうして起こっているのかはまだ分かりません。コンパイル時にSaveを有効にすると、Netbeansはデバッグ用のクラスファイルの第2セットを生成します。$USER/.netbeans/var/cache/index/s*/java/*/classes

このディレクトリが壊れたり更新に失敗することがあります。

netbeansを閉じる場合は、$USER/.netbeans/var/cache/indexとすべてのサブディレクトリを削除し、netbeansを再起動するとキャッシュがクリアされます。コンパイルエラーがなければ、この時点で問題はなくなるはずです。

NB:$ USERはあなたのユーザーディレクトリです - Windows 7ではこれは通常c:\Users\usernameですが、私はUnix上では~usernameと推測しています。

あなたはこの問題を取得する場合、に投票、コメント、に情報を追加してください:http://netbeans.org/bugzilla/show_bug.cgi?id=182009

+1

+1私もこの問題を抱えていますが、あなたの答えは解決策を提供しました。どうもありがとう。 – Triztian

+0

今回は、フォルダを削除しても解決しなかったバグをもう一度見つけました。 – Triztian

+0

私は開発者が本当に役に立ちました。バグが再発した場合は、キャッシュフォルダなどの情報に本当に感謝していますので、そのコピーを残しておいてください。あなたが最新のnetbeansで動作することを確認したら、私は彼らにいくつかの追加の診断コードを追加したと思う。 –

5

私はハンマーIQソリューションは、中にタイプミスを作ることだった、NB 7.0.1で同じ有線の問題を経験しましたソースコード、NBを(エラーメッセージにもかかわらず)このエラーで実行し、キャッシュされたクラスが正常に削除された。

1

実際、インデックスフォルダ全体を削除する必要はありません。 netbeansを開いて、プロジェクトフォルダがアクティブなとき。 Netbeansは、ファイルのスキャンを開始し、すべてのアクティブなプロジェクトの一時的なプロジェクトフォルダ(インデックスフォルダ内)を作成します。 index \ segmentsファイル(テキストファイルで、メモ帳/(テキストエディタ)で表示可能)をチェックすると、プロジェクトを表すフォルダを特定できます。これらのフォルダを削除して、netbeansを再起動することができます。

*アクティブプロジェクトとは、Netbeansがシャットダウンされる前に開いていたプロジェクトを意味します。

3

私は、NetBeans 7.2.1でLinuxのミントナディアでこの問題を経験したが、キャッシュの場所があるかもしれない場所へと困惑した - 地雷が実際にかなりの.netbeansフォルダに比べ

/home/USER/.cache/netbeans/7.2.1 

に位置していました。

特定の設定でキャッシュがどこにあるかわからない場合は、Netbeansの[ヘルプ]> [メニュー]に移動すると、正しいパスが表示されます。

2

原因が他の公開されたソリューションの不良キャッシュであることを認識した後、ファイルを別のディレクトリにコピーし、NetBeansから削除してから、もう一度追加してこの問題を解決しました。

関連する問題