Вопрос №290 от пользователя navi в уроке «Модуль 2. Урок 4. Пакеты в Java.», курс «Введение в Java»
Хочу заметить, что например конструкция:
javac src/**/*.java
будет работоспособна только в том случае если вы используете интерпретатор который понимает "double star", zsh например. Однако я думаю большинство будет использовать Bash, а оно умеет "double star" только с версии 4 + надо включить поддержку этой возможности ( globstar ), т.к по умолчанию она не задействована.
PS: Даже в OS X 10.10 "из коробки" bash v3.2
Спасибо за наводку! Я как даун пропускал некоторые практики только из-за этой особенности. Тысяча лайков за этот пост! Есть добрые, проницательные и неравнодушные люди на этом ресурсе! Уважаемые хозяева проекта, было бы неплохо где-нибудь отразить эту фишку в учебном курсе. Заранее извиняюсь, если щас сморожу глупость: умение лопатить инет в поисках решения проблемы - это здорово, но донат мой был далеко не по этой теме.
Пожалуйста;)В крайнем случае можно использовать консоль из раздела Exercise этого урока ( и не только этого). Там вполне можно повторять то что показано в теоретическом видео, и bash там как раз 4 версии, но globstar все равно придется включить:
shopt -s globstar
Благодарю! В материалах курса, если правильно понял, отразить не получится так просто, не перезаписывая видео? Ну не знаю, небольшой faq по подобным вопросам во вступительной части перед выполнением задания.
а на винде как быть? cygwin не понимает эту команду
linux без глобстара (ищем все файлы, добавляем их в файл. далее компилим файлы, которые будут в файле)
$ find -name "*.java" > sources.txt
$ javac @sources.txt
аналогично под виндой
> dir /s /B *.java > sources.txt
> javac @sources.txt
В Linux с исходниками в папке src и целевой папкой build компилится в одну строчку (хук без глобстара):
find src -name '*.java' -exec javac {} -d build \;
Для OSX можно обновить bash до последней версии через brew, вот инструкция https://gist.github.com/reggi/475793ea1846affbcfe8
Используйте Хекслет по-максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт






