Подтвердить что ты не робот

Разрешение или компиляция круговой зависимости в Maven

У меня есть немного смешная проблема, и вместо того, чтобы искать решение a, я ищу решение s.

В Project Alice есть pom.xml. В нем помёт, что она упакована в банку, и хотя она сильная женщина, она зависит от Боба. Проект Боб, будучи дополняющим, говорит, что он зависит от Алисы. Эрго - круговая зависимость.

Конечно, при запуске mvn compile Алиса говорит: "Алисе не хватает Боба". И Боб, этот настоящий романтик, если вы попытаетесь скомпилировать его, он тоже скучает по Алисе.

Поскольку ни один из них не будет соответствовать другим присутствующим, я ищу способы, чтобы решить эту проблему.

Я знаю только, как это решить:

  • Женитесь на них и сделайте им один проект maven.
  • Прервать свою совместную зависимость

Помимо того факта, что я не хочу продвигать кровосмешение, создавал бы родительский pom и заставлял бы братьев и сестер Алисы и Боба решить это?

Любое другое решение s?

4b9b3361

Ответ 1

Подумайте, что это такое, что Алиса и Боб отчаянно нуждаются друг в друге, и представьте, что - позвольте называть его Чарли - как свой собственный отдельный POM. Затем, Алиса и Боб зависят от Чарли.

Большое внимание следует отметить в том, что циклические зависимости часто возникают из-за того, что некоторые модули охватывают больше, чем нужно. Учитывая, что Алисе нужно, чтобы Боб и Боб нуждались в Алисе, есть что-то, что можно отделить от этих двух модулей и ввести в качестве третьего.

Это, вероятно, не самое привлекательное решение, но оно самое чистое. Затем вы вводите более модульную систему в свою систему и еще несколько возможностей для рефакторинга модулей.