Вопрос №79 от пользователя user-5b458ae336d3c4c4 в уроке «Модуль 2. Урок 4. Пакеты в Java.», курс «Введение в Java»
почему-то при попытки компиляции выдается следующая ошибка:
Roman@R2D2 /temp/project/src/com/test/buildings $ javac House.java House.java:3: error: package com.test.humans does not exist import com.test.humans. Human; ^ House.java:9: error: cannot find symbol Human owner; ^ symbol: class Human location: class House 2 errors
хотя все папки созданы и файлы расположены как нужно
Roman@R2D2 /temp/project $ find src src src/com src/com/test src/com/test/buildings src/com/test/buildings/House.java src/com/test/humans src/com/test/humans/Human.class src/com/test/humans/Human.java
вот коды
package com.test.humans;
public class Human {
String name;
}
package com.test.buildings;
import com.test.humans.Human;
public class House {
String address;
Human owner;
}
Присоединяюсь к вопросу. У меня выдаёт такую же ошибку.
та же фигня. поясните, пожалуйста, что тут не так?
и так посколько классы в пакетах то компилировать нужно всегда от корневого пакета. Поясню на примере:
/temp/project/src/com/test/buildings $ javac House.java
как можно видеть Вы сейчас находитесь в папке: /temp/project/src/com/test/buildings и компилируете из нее. javac думает что это единственный пакет в которым Вы сейчас находитесь с одним единственным классом House.java Как результат он не может найти никакие другие классы. В данном случае Human
Но если компилировать с самого верхнего пакета и сразу все классы то ситуация станет на свои места. Пример:
➜ j1 javac ./*/.java
эту команду нужно выполнять в корне проекта: /temp/project/src/
права эта команда работает не на всех платформах, так что отпишите если не заработало.
Что делать, если эта команда не работает?
У меня заработал в powershell следующий путь:
PS C:\Users\Olya\java\project\src> dir -r *.java |%{javac $_ -d ../build}
PS C:\Users\Olya\java\project\src> cd..
PS C:\Users\Olya\java\project> java -cp build com.test.humans.Human
Hello
PS C:\Users\Olya\java\project>
Спасибо Ольге за ответ :) Приходите в наш следующий подкаст.
С под винды команда не канает( на импорт ругается и все.
Заработало под Windows только в стандартной консоли (в Cygwin не работает) при добавлении sourcepath:
C:\cygwin\home\Oleg\project>javac -sourcepath ./src src/com/test/buildings/*.java
ubuntu: br088@br088-SATELLITE:~/studyJava/Java101/m02l4/project$ javac -sourcepath ./src src/com/test/*/.java Другие варианты не помогли
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







