Вступить в клуб →
средняявопросJVM в контейнере, сборка и зависимости

Модуль использует классы из зависимости соседнего модуля, и сборка не компилируется

В многомодульном проекте Gradle модуль orders зависит от модуля common, в котором объявлено implementation("org.apache.commons:commons-lang3:3.14.0"). В orders разработчик использует StringUtils из commons-lang3, не объявляя её, и получает ошибку компиляции «cannot find symbol».

Как правильно поступить?

  • Объявить commons-lang3 зависимостью модуля orders, раз он её использует
  • Заменить implementation на compileOnly в модуле common
  • Объявить в common зависимость через api, чтобы она всегда была видна всем
  • Скопировать нужные классы commons-lang3 в модуль orders

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела