Доступ к пакетам из подкаталога - PullRequest
0 голосов
/ 18 апреля 2020

Я работал над этим заданием, и они дали нам этот UML - один пакет был назван maze и имел несколько классов. другой был назван maze.routing. Я посмотрел, как работать с этим, так что я не уверен, что то, что я сделал, правильно, и я также получаю много ошибок.

В каждом классе в пакете maze я добавил package maze; и поместил эти классы в папку с именем maze.

Я создал папку с именем маршрутизации внутри папки с именем maze. Внутри классов в maze.routing я добавил оператор пакета и оператор import:

package maze.routing;
import maze.*

Классы в maze компилируются нормально, но когда я пытаюсь скомпилировать классы в maze/routing папка получаю ошибку. Что происходит?

edit: мне очень жаль, что это было плохо, я должен был запустить его из главного каталога, содержащего лабиринт

1 Ответ

0 голосов
/ 18 апреля 2020

Если вы уже добавили package maze; и package maze.routing; в соответствующие классы, вам не нужно создавать папки. Java компилятор автоматически создаст папки для вас. См. Демонстрацию ниже:

A. java:

package maze;

public class A{
}

B. java:

package maze.routing;
import maze.*;
public class B{
}

Оба A.java и B.java находятся в одном и том же месте (т.е. в одной и той же папке). Теперь, в командной строке / окне терминала, если вы используете следующую команду из этого местоположения / папки:

javac -d . *.java

классы будут скомпилированы и также помещены в соответствующие пакеты / папки.

Примечание: Опция . обозначает текущую папку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...