在同一包中找不到课程


问题内容

我正在尝试编译与Hexagon.java相同的程序包(和目录)中的Board.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$