Пакет, не найденный; javac

Это является раздражающим.

У меня есть структура каталогов как это

-lib
   --some jar files

-packageName
   --Main.java
   --SomeOtherPackage
      --SomeOtherJavaClass.java

Импорт Main.java SomeOtherPackage. И оба файла Java используют банки в lib.

То, что я делаю, добавляют файлы банки независимо в ПУТИ К КЛАССУ. И затем выполненный как: javac packageName/Main.java

но это дает ошибке тот Пакет, не найденный SomeOtherPackage . Не был должен это автоматически понимать зависимость и сборку SomeOtherPackage также? Каковы были бы команда javac и путь к классу для вышеупомянутого случая?

Спасибо

5
задан blissapp 14 June 2010 в 23:08
поделиться

2 ответа

Обычной практикой является добавление корня пакета в путь к классам.

Когда вы уже находитесь в корне пакета, используйте -cp. . Например.

cd /path/to/all/packages
javac -cp . packageName/Main.java

Если вы хотите также включить файлы JAR, используйте ; (или в * nix, : ) в качестве разделителя пути к классам:

javac -cp .;lib/file.jar packageName/Main.java

Чтобы сэкономить время в повторяя весь набор команд оболочки, используйте файл .bat (или в * nix a .sh ). Или просто IDE, если вы уже знакомы с java / javac и т. Д.

4
ответ дан 15 December 2019 в 00:50
поделиться

Вам нужно добавить packageName в CLASSPATH, чтобы он мог найти SomeOtherPackage

0
ответ дан 15 December 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: