Не удается разрешить junit-jupiter-params: 5.6.2 и junit-jupiter-engine: 5.6.2 с Gradle 6.1.1 - PullRequest
2 голосов
/ 19 июня 2020

У меня есть проект Android с модулями 2 Android и одним чистым модулем Java.
После обновления инструментов сборки android до com. android .tools.build: gradle: 4.0. 0 и оболочка gradle для gradle-6.1.1-all, модуль pure Java больше не может разрешать junit.
Я получаю следующую ошибку при синхронизации с файлами gradle:

Failed to resolve: org.junit.jupiter:junit-jupiter-params:5.6.2 
Failed to resolve: org.junit.jupiter:junit-jupiter-engine:5.6.2

Если Я пытаюсь запустить тесты напрямую, и получаю следующий результат:

Could not resolve all files for configuration ':domain:testCompileClasspath'.
   > Could not resolve org.junit.jupiter:junit-jupiter-params:5.6.2.
     Required by:
         project :domain
      > Cannot choose between the following variants of org.junit.jupiter:junit-jupiter-params:5.6.2:
          - javadocElements
          - sourcesElements
        All of them match the consumer attributes:
          - Variant 'javadocElements' capability org.junit.jupiter:junit-jupiter-params:5.6.2:
              - Unmatched attributes:
                  - Found org.gradle.category 'documentation' but wasn't required.
                  - Found org.gradle.docstype 'javadoc' but wasn't required.
                  - Required org.gradle.jvm.version '7' but no value provided.
                  - Required org.gradle.libraryelements 'classes' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Required org.jetbrains.kotlin.platform.type 'jvm' but no value provided.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'sourcesElements' capability org.junit.jupiter:junit-jupiter-params:5.6.2:
              - Unmatched attributes:
                  - Found org.gradle.category 'documentation' but wasn't required.
                  - Found org.gradle.docstype 'sources' but wasn't required.
                  - Required org.gradle.jvm.version '7' but no value provided.
                  - Required org.gradle.libraryelements 'classes' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Required org.jetbrains.kotlin.platform.type 'jvm' but no value provided.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.

Как я могу сказать Gradle, где ему следует искать правильные зависимости junit?

1 Ответ

2 голосов
/ 25 июня 2020

Решение, которое я нашел для аналогичной проблемы (мое было с org.junit.jupiter: junit-jupiter-api), заключается в обновлении исходной совместимости тестов до 1.8.

compileJava {
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}
compileTestJava {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}

Это Таким образом, исходный код продукта по-прежнему совместим с версией 1.7, чтобы разрешить сборку Android.

...