Ошибка Java «пакет не существует» в UNIX

2

Моя структура каталога проекта выглядит примерно так: ProjectName/coursesRegistration/src/coursesRegistration/util Когда я выполняю "import coursesRegistration.util.FileProcessor; " в Eclipse, это работает, но когда я пытаюсь это сделать в UNIX (используя компиляцию в командной строке), это дает мне ошибка, говорящая

"error: package coursesRegistration.util does not exist".

Может быть, мне не хватает чего-то очень простого, кто-нибудь знает, в чем проблема?

  • 0
    Ваш класс публичный?
  • 5
    Когда вы запускаете это с командой java, из которой вы запускаете dir, для какого параметра -cp установлено значение? Более подробную информацию, пожалуйста.
Теги:
package

2 ответа

1
Лучший ответ

Спасибо вам, ребята! Я только что обнаружил, что запущен "ant -buildfile build.xml", а затем "ant run -buildfile build.xml" делает магию для вас!

2

Если вы пытаетесь выполнить компиляцию в командной строке, это, вероятно, проблема.

Вы запускаете команду javac за пределами папки src. Это проблема, потому что система java-пакетов ожидает найти классные coursesRegistration.util.FileProcessor в ./coursesRegistration/util/FileProcessor.java, где текущий каталог находится там, где вы находитесь, когда запускаете javac. Способ исправить это - передать путь к директории src в параметр --class-path. Например, запуск компилятора из каталога ProjectName:

javac --class-path coursesRegistration/src ...

Кроме того, просто чтобы вы знали, вам нужно будет находиться в каталоге src для запуска самой программы. Eclipse обрабатывает все это за кулисами, поэтому я бы использовал либо Eclipse, либо командную строку, но не оба.

  • 0
    Да, я понимаю, но я предпочитаю использовать командную строку, чтобы лучше учиться.
  • 0
    Ну, выбирай, так как это тяжело делать и то, и другое. Либо командная строка, либо Eclipse. Я бы не стал делать то и другое, как я уже говорил. Я не говорю, что командная строка плохая. Кроме того, если вы действительно хотите сделать оба, добро пожаловать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню