Совместное (пересеченное) Java-управление зависимостями - PullRequest
0 голосов
/ 14 декабря 2018

Допустим, я создаю Java-приложение, использующее две библиотеки: A и B. И A, и B зависят от библиотеки C. Как лучше всего управлять тем, что A и B используют одну и ту же версию?чтобы они не конфликтовали?Я использую Gradle.

1 Ответ

0 голосов
/ 14 декабря 2018

Начиная с Gradle 4.6 (5.x) Gradle обеспечивает поддержку для импорта файлов спецификаций , которые фактически являются .pom файлами, использующими <dependencyManagement> дляуправлять версиями зависимостей прямых и транзитивных зависимостей.Похоже, что вам нужно.Итак, если в библиотеке C есть спецификация, просто импортируйте эту спецификацию той версии, которую вы хотите применить:

dependencies {
    // import a BOM
    implementation(enforcedPlatform("com.acme:c-bom:1.0.0"))

    implementation("com.acme:a:1.2.3")
    implementation("com.acme:b:4.5.6")
}

Если в библиотеке нет спецификации, просто объявите ее явно:

dependencies {
    implementation("com.acme:c:1.0.0")

    implementation("com.acme:a:1.2.3")
    implementation("com.acme:b:4.5.6")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...