Классы Java находятся в одном пакете (разные каталоги), но они не могут обращаться друг к другу - PullRequest
0 голосов
/ 10 июня 2019

У меня есть два файла:

MyProject / src / main / java / foo_package / bar_package / MainClass.java MyProject / src / gen / java / foo_package / bar_package / OtherClass.java

В обоих этих классах самая первая строка:

package foo_package.bar_package;

Если я позвоню:

OtherClass foo = new OtherClass();

Он не может разрешить символ OtherClass.Почему это так?

Что я пробовал:

  • Перестроить проект
  • Отменить кэш / перезапустить
  • Повторно импортировать проект
  • Удалите файлы .iml и папку .idea и снова импортируйте все

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Похоже, есть проблема с путем последнего класса:

MyProject / src / main / java / foo_package / bar_package / MainClass.java MyProject /src / gen / java / foo_package / bar_package / OtherClass.java

Если ваши классы имеют одинаковый пакет (пакет начинается после ../java/), но они не являются частьюпуть сборки Java, тогда IDE не распознает их как допустимые.

Попробуйте переместить OtherClass.java в пакет, где находится MainClass.java.Это должно в конечном итоге решить вашу проблему.

PS: помните об исходных папках вашего проекта (большую часть времени main является исходной папкой по умолчанию, и этого достаточно, но могут быть и другие исходные папки,обычно добавляется вручную).

0 голосов
/ 13 июня 2019

Убедитесь, что ваша исходная папка IDEA java, а не src (для обеих папок java внутри /gen/ и внутри /main).Корень источников помечен как синий каталог в окне «Проект» (Alt + 1).

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