在同一个包中找不到类

时间:2010-09-20 06:52:00

标签: java

我正在尝试编译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{

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

由于

3 个答案:

答案 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