2010-09-20 33 views
18

我試圖編譯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{ 

我只是不明白我在做什麼錯。有任何想法嗎?

謝謝

+4

我想你提出了一個複製/粘貼錯誤,就像你寫過兩次Board一樣,但是在這裏寫的是Hex Hex ... – Riduidel 2010-09-20 06:54:34

+2

你能發表第六行hexagon.java嗎 – 2010-09-20 06:54:59

+0

Hexagon.java是否乾淨地編譯? – Thilo 2010-09-20 06:55:53

回答

31

我很確定你是從錯誤的目錄中編譯。 您應該從源根目錄進行編譯,而不是從oadams_atroches目錄中進行編譯。

看一看這個慶典,會議:

[email protected]:~/tmp/hex/oadams_atroche$ ls 
Board.java Hexagon.java 
[email protected]:~/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 

雖然如果我去了一個目錄...

[email protected]:~/tmp/hex/oadams_atroche$ cd .. 

...並編譯:

[email protected]:~/tmp/hex$ javac oadams_atroche/Board.java 
[email protected]:~/tmp/hex$ 
+0

正確!非常感謝。 – oadams 2010-09-20 07:08:38

0

它適用於我:

cd SRC_DIRECTORY 
javac -cp . PACKAGE/CLASS.java 
0

不確定不同的平臺,但在Windows上使用Netbeans時,創建項目通常是最簡單的。

如果您嘗試從命令行進行編譯:

javac -cp。 * .java