2010-09-20 8 views
18

finden Ich versuche Board.java zu kompilieren, die in demselben Paket ist (und das Verzeichnis) als Hexagon.java, aber ich habe diesen Fehler:Kann nicht Klasse in demselben Paket

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

Die ersten Zeilen Board.java von:

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; 

Die ersten paar Zeilen Hexagon.java:

package oadams_atroche; 

import p323.hex.*; 

public class Hexagon implements Piece{ 

ich kann einfach nicht sehen, was ich falsch mache. Irgendwelche Ideen?

Dank

+4

Ich vermute, Sie haben ein wenig Kopieren/Einfügen Fehler gemacht, wie Sie zweimal Board, aber Null Hexagon hier geschrieben ... – Riduidel

+2

können Sie erste Zeilen von hexagon.java posten –

+0

Ist Hexagon.java sauber kompilieren? – Thilo

Antwort

31

Ich bin mir ziemlich sicher, dass Sie aus dem falschen Verzeichnis sind kompilieren. Sie sollten kompilieren von Quell-Stammverzeichnis und nicht aus dem Verzeichnis oadams_atroches.

Werfen Sie einen Blick auf diese bash-Sitzung:

[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 

Während, wenn ich ein Verzeichnis nach oben ...

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

... und kompilieren:

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

korrekt! Danke vielmals. – oadams

0

Es funktioniert für mich:

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

Nicht sicher über verschiedene Plattformen, aber mit Netbeans unter Windows ist es am einfachsten, einfach ein Projekt zu erstellen.

Wenn Sie versuchen, von der Kommandozeile zu kompilieren:

javac -cp. * .java

Verwandte Themen