我正在尝试编译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{
我只是看不出我做错了什么。有什么想法吗?
由于
答案 0 :(得分:34)
我很确定你是在错误的目录中编译的。 您应该从源根目录编译,而不是从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$
答案 1 :(得分:0)
它对我有用:
cd SRC_DIRECTORY
javac -cp . PACKAGE/CLASS.java
答案 2 :(得分:0)
不确定不同的平台,但在Windows上使用Netbeans,创建项目通常最简单。
如果您尝试从命令行进行编译:
javac -cp。 *的.java