Вопрос №79 от пользователя user-5b458ae336d3c4c4 в уроке «Модуль 2. Урок 4. Пакеты в Java.», курс «Введение в Java»

user-5b458ae336d3c4c4

почему-то при попытки компиляции выдается следующая ошибка:

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;

}
9 4

Егор Ганюшкин

Присоединяюсь к вопросу. У меня выдаёт такую же ошибку.

1

user-f9e9ff2a03558dab

та же фигня. поясните, пожалуйста, что тут не так?

0

Вячеслав Ковалевский

и так посколько классы в пакетах то компилировать нужно всегда от корневого пакета. Поясню на примере:

/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/

права эта команда работает не на всех платформах, так что отпишите если не заработало.

2

Kate Gaydukova

Что делать, если эта команда не работает?

0

Olga Suvorova

У меня заработал в 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>
0

Глеб Бочкарёв

Спасибо Ольге за ответ :) Приходите в наш следующий подкаст.

0

Сергей Москаленко

С под винды команда не канает( на импорт ругается и все.

0

Aleh Pranovich

Заработало под Windows только в стандартной консоли (в Cygwin не работает) при добавлении sourcepath:

C:\cygwin\home\Oleg\project>javac -sourcepath ./src src/com/test/buildings/*.java

http://habrahabr.ru/post/125210/

0

Бронислав Шестаков

ubuntu: br088@br088-SATELLITE:~/studyJava/Java101/m02l4/project$ javac -sourcepath ./src src/com/test/*/.java Другие варианты не помогли

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 декабря 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 декабря 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 декабря 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 декабря 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 декабря 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
1 декабря 5 месяцев