Не удается найти класс в одном пакете
Я пытаюсь скомпилировать 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{
Я просто не вижу, что я делаю неправильно. Любые идеи?
Спасибо
Ответы
Ответ 1
Я уверен, что вы компилируете из неправильного каталога. Вы должны скомпилироваться из исходной корневой директории, а не из каталога oadams_atroches.
Посмотрите на это bash -session:
[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$
Ответ 2
Это работает для меня:
cd SRC_DIRECTORY
javac -cp . PACKAGE/CLASS.java
Ответ 3
Не уверен в отношении разных платформ, но, используя Netbeans в Windows, часто проще всего создать проект.
Если вы пытаетесь скомпилировать из командной строки:
javac -cp. *.java
Ответ 4
Возможно, вам нужно переименовать файл Maven.
В IntelliJ это может быть: pom. xml-> Maven-> Reimport