【问题标题】:How to suppress gradle warning about Deprecated Gradle features?如何抑制有关已弃用 Gradle 功能的 gradle 警告?
【发布时间】:2021-09-10 14:36:25
【问题描述】:

我正在使用最新的 Gradle v7.2

当我编译时它给了我警告

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

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings

我查过--warning-mode all,只是关于jcenter deprecation

> Configure project :
The RepositoryHandler.jcenter() method has been deprecated. This is scheduled to be removed in Gradle 8.0. JFrog announced JCenter's sunset in February 2021. Use mavenCentral() instead. Consult the upgrading guide for further information: https://docs.gradle.org/7.2/userguide/upgrading_version_6.html#jcenter_deprecation
        at build_akew6bhcr0m9glzogac5s3m6w$_run_closure1.doCall(/Users/paul.verest/Workspaces/Polkadot/bcd-java/build.gradle:10)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)

现在,我怎样才能让gradle 完全忽略build.gradle 中的一行 (在这种情况下jcenter 使用,但可以是任何) 这样“使用了已弃用的 Gradle 功能”就会消失,
直到新功能被弃用或我的构建脚本发生变化?


是的,这个问题不是关于禁止编译器输出代码,
但对于 gradle 生成的 .gradle 文件。

不使用--warning-mode,因为它可以隐藏和显示所有警告。

附:确实如此,我有依赖,只在jcenter上。

【问题讨论】:

  • jcenter 现在已经死了...为什么不直接从构建脚本中删除它呢?
  • @tim_yates:jcenter 中存在的某些库(或版本)是否可能在其他地方不可用?在这种情况下,用 mavenCentral 替换 jcenter 需要更多的工作。 (我同意立即解决这个问题要便宜得多)
  • 否 - 现有构建不应失败。 JFrog 将 repo 保持为只读状态。所有使用它的构建都将永远有效--jfrog.com/blog/…(他们听取了社区的意见并改变了策略)
  • P.S.正是这种情况,我有依赖,只在 jcenter 上。 Bintray 总是 403,JCenter 在只读模式下工作
  • @tim_yates :您可能正在查看处理方式不同的浏览器。 curl -O https://jcenter.bintray.com/net/rubygrapefruit/ansi-control-sequence-util/0.2/ansi-control-sequence-util-0.2.jar 工作正常; gradle build 也是如此。 (这是 jfrog 的一个很好的策略来阻止用户但仍然尊重所有现有的构建文件)

标签: gradle groovy build.gradle suppress-warnings suppressmessage


【解决方案1】:

抱歉,您可能不喜欢这个答案。

gradle (7.2) 中没有选项来禁止特定的弃用。修复构建文件会更便宜且正确。

【讨论】:

  • 我希望有一些 @SuppressWarnings 模拟。
  • 投票,但不接受 NO 答案,因为希望有或将会有办法。
【解决方案2】:

替换 Gradle 文件中的以下 repo

jcenter()

与:

mavenCentral() 

或者:

gradlePluginPortal()

这将假设 maven 存储库中存在所需的依赖项,您必须通过新建构建来检查。

目前,jcentral() 存储库已关闭。

【讨论】:

    猜你喜欢
    • 2010-12-05
    • 2021-11-18
    • 2014-11-17
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多