此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 5.0 不兼容

新手上路,请多包涵

我有一个 gradle FAILURE:

 ..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

案例描述:

  • 附加到项目代码库的下一个库:

APP/build.gradle

     //(Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"

  • 更新了 gradle-wrapper.properties

distributionUrl=https….gradle- 4.4-all .zip 到 4.7-all

  • 在所有的 gradle 都建立成功之后

  • 创建了测试课程

  @TestInstance(TestInstance.Lifecycle.PER_CLASS)
    class TestClass {

    @Test
    internal fun testName() {
      Assert.assertEquals(2, 1 + 1)
    }
  }

  • 运行测试并收到 FAILURE 消息。 在此处输入图像描述

  • 使用命令行参数 ./gradlew --warning-mode=all 运行 Gradle 构建以查看已弃用的功能到底是什么。 在此处输入图像描述

结果,我无法构建应用程序,并且收到了 FAILURE: 消息。

原文由 Philipp Buhaievskiy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

使用命令行参数 --warning-mode=all 运行 Gradle 构建,以查看已弃用的功能到底是什么。

它将通过指向 Gradle 文档的链接为您详细描述发现的问题,以获取有关如何修复构建的说明。

添加 --stacktrace 至此,如果警告是由其中一个插件中的过时代码而不是您的构建脚本触发的,您还可以查明警告的来源。

原文由 hotkey 发布,翻译遵循 CC BY-SA 4.0 许可协议

在上述答案对我不起作用之后,我设法通过将 Gradle 插件升级到最新版本并使用 JDK 11 来解决这个问题。希望这对某人有所帮助!

原文由 mr_dami 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏