Netbeans7.0のいくつかの奇妙な動作。クラスを作成したときに問題が発生したようです。どのプロジェクトに所属していても、「gamesandbox.agents」というパッケージに「RainbowBall」という名前のクラスを作成すると(パッケージを新しく作成した場合でも)、正常にコンパイルされますが、RainbowBallコンストラクターを呼び出すと、デバッガーによって「スレッドメインが停止しました」と表示されます。
新しく作成されたプロジェクトからの例を削除しました。
//RainbowTest.java
package rainbowtest;
import gamesandbox.agents.RainbowBall;
public class RainbowTest
{
public static void main(String[] args)
{
RainbowBall r = new RainbowBall();
System.out.println(r.toString());
}
}
/*---------------*/
//RainbowBall.java
package gamesandbox.agents;
public class RainbowBall
{
public RainbowBall() {};
}
繰り返しになりますが、これは正常にコンパイルされますが、デバッガーはRainbowBallが解決できないシンボルであるように動作します(「スレッドメインがRainbowTest.java:10で停止しました」)。
他のクラス名(「RainbowBall2」など)または他のパッケージ名を使用しても、このエラーは発生しません。これは、古いプロジェクトだけでなく、新しく作成されたプロジェクトでも発生します。また、外部のライブラリ/jar/パッケージがまったく使用されていない場合でも発生します。
名前を変更するか、最新のNetBeansに更新してみますが、何が起こっているのかを理解しておくとよいでしょう。IDEは、クラスの名前を永続的でプロジェクトに依存しない場所に明確に保存しており、ある種の同性愛嫌悪者のようにRainbowBallsを操作することを拒否しています。