Gradle использует последнюю версию TestNG вместо заявленной версии - PullRequest
1 голос
/ 09 апреля 2019

В моем скрипте gradle у меня есть следующие зависимости:

dependencies {
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version:'3.9.1'
compile group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '2.2.4'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6.2'
compile group: 'org.uncommons', name: 'reportng', version:'1.1.4'
compile group: 'com.google.inject', name: 'guice', version:'4.0'
compile group: 'org.apache.commons', name:'commons-math3', version: '3.6.1'
testCompile group: 'org.testng', name: 'testng', version:'6.14.3'
testCompile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'}

Как видно здесь, я прошу использовать 6.14.3 в качестве версии testng.Только когда я пытаюсь запустить свой скрипт, я получаю проблему:

Execution failed for task ':compileJava'.

Сначала я проверил, верна ли версия Java, но проблем там нет.Только если я бегу gradle --debug.Я обнаружил, что скачанный тестовый jar был версии 7.0.0-бета4.Но так как я не заявлял об этом, я не уверен, почему это используется, или я могу заставить использовать правильный?

1 Ответ

1 голос
/ 09 апреля 2019

Запуск ./gradlew dependencies должен показать вам следующие compile зависимости (среди многих других):

…
+--- org.uncommons:reportng:1.1.4
|    +--- org.testng:testng:[5.0,) -> 7.0.0-beta6
|    \--- velocity:velocity:1.4
|         \--- velocity:velocity-dep:1.4
…

Другими словами, ваша объявленная compile зависимость от org.uncommons:reportng:1.1.4 имеет транзитивную зависимость отTestNG, который Gradle разрешает до последней версии TestNG - поскольку вы явно не объявляете никакую другую зависимость TestNG для compile конфигурации .Обратите внимание, что вы напрямую зависите от TestNG только из testCompile конфигурации !

Вы можете исправить это, изменив объявление зависимости TestNG следующим образом:

compile group: 'org.testng', name: 'testng', version:'6.14.3'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...