У меня есть проект Scala A, который имеет интерфейс (абстрактный класс) I, его реализации и ссылку на проект B (B.jar). A упакован с publish-local
для компиляции в файл jar и хранится в каталоге .ivy. Проект B, в свою очередь, использует интерфейс I в проекте B; он скомпилирован в банку и в каталог .ivy.Циркулярная зависимость в Scala
Сюда приходят некоторые конструктивные вопросы в Scala:
- Является ли это циклическая зависимость при А относится к В, если В относится к А?
- Если первый вопрос является проблемой, я думаю, что упрощенное решение состоит в том, чтобы извлечь интерфейс I из A, сделать его еще одним проектом, на который будут ссылаться как A, так и B. Не является ли этот избыточный проект проектом, который имеет только один интерфейс? Или это нормально, так как B ссылается только на один файл класса в A. Какая практика в Scala?
нет его не круговая зависимость, ну это на бумаге. но не на компиляторе. –