Разрешение или компиляция круговой зависимости в Maven
У меня есть немного смешная проблема, и вместо того, чтобы искать решение a, я ищу решение s.
В Project Alice есть pom.xml. В нем помёт, что она упакована в банку, и хотя она сильная женщина, она зависит от Боба. Проект Боб, будучи дополняющим, говорит, что он зависит от Алисы. Эрго - круговая зависимость.
Конечно, при запуске mvn compile
Алиса говорит: "Алисе не хватает Боба". И Боб, этот настоящий романтик, если вы попытаетесь скомпилировать его, он тоже скучает по Алисе.
Поскольку ни один из них не будет соответствовать другим присутствующим, я ищу способы, чтобы решить эту проблему.
Я знаю только, как это решить:
- Женитесь на них и сделайте им один проект maven.
- Прервать свою совместную зависимость
Помимо того факта, что я не хочу продвигать кровосмешение, создавал бы родительский pom и заставлял бы братьев и сестер Алисы и Боба решить это?
Любое другое решение s?
Ответы
Ответ 1
Подумайте, что это такое, что Алиса и Боб отчаянно нуждаются друг в друге, и представьте, что - позвольте называть его Чарли - как свой собственный отдельный POM. Затем, Алиса и Боб зависят от Чарли.
Большое внимание следует отметить в том, что циклические зависимости часто возникают из-за того, что некоторые модули охватывают больше, чем нужно. Учитывая, что Алисе нужно, чтобы Боб и Боб нуждались в Алисе, есть что-то, что можно отделить от этих двух модулей и ввести в качестве третьего.
Это, вероятно, не самое привлекательное решение, но оно самое чистое. Затем вы вводите более модульную систему в свою систему и еще несколько возможностей для рефакторинга модулей.