Подтвердить что ты не робот

Не удается найти класс в одном пакете

Я пытаюсь скомпилировать 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{

Я просто не вижу, что я делаю неправильно. Любые идеи?

Спасибо

4b9b3361

Ответ 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