在同一个包中找不到类

我正在尝试编译Board.java,它与Hexagon.java位于相同的包(和目录)中,但是我收到此错误:

Board.java:12: cannot find symbol symbol : class Hexagon location: class oadams_atroche.Board private Hexagon[][] tiles; 

Board.java的前几行:

 package oadams_atroche; import java.util.LinkedList; import java.util.Queue; import java.io.PrintStream; import p323.hex.*; public class Board implements Piece{ >---//Fields >---private int n; >---private Hexagon[][] tiles; 

Hexagon.java的前几行:

 package oadams_atroche; import p323.hex.*; public class Hexagon implements Piece{ 

我只是看不出我做错了什么。 有任何想法吗?

谢谢

我很确定你是在错误的目录中编译的。 您应该从源根目录编译 ,而不是从oadams_atroches目录中编译。

看看这个bash会话:

 aioobe@r60:~/tmp/hex/oadams_atroche$ ls Board.java Hexagon.java aioobe@r60:~/tmp/hex/oadams_atroche$ javac Board.java Board.java:12: cannot find symbol symbol : class Hexagon location: class oadams_atroche.Board private Hexagon[][] tiles; ^ 1 error 

如果我上去一个目录……

 aioobe@r60:~/tmp/hex/oadams_atroche$ cd .. 

…并编译:

 aioobe@r60:~/tmp/hex$ javac oadams_atroche/Board.java aioobe@r60:~/tmp/hex$ 

这个对我有用:

 cd SRC_DIRECTORY javac -cp . PACKAGE/CLASS.java 

不确定不同的平台,但在Windows上使用Netbeans,通常最简单的方法就是创建一个项目。

如果您尝试从命令行编译:

javac -cp。 *的.java