Пакет не найден;Javac - PullRequest
       3

Пакет не найден;Javac

5 голосов
/ 15 июня 2010

Это раздражает.

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

-lib
   --some jar files

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

Main.java импорт SomeOtherPackage. И оба java-файла используют jar-файлы в lib.

Что я делаю, так это добавляю файлы jar независимо в CLASSPATH. А затем запустите как: javac packageName / Main.java

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 15 июня 2010

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

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

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

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

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

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

0 голосов
/ 15 июня 2010

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

...