从Maven切换到Gradle提示使用@Incubating API,如何改为仅用@Public API?
Gradle切换@Public API配置调整方案
你收到的孵化API提示如下:
/*
- 本文件由Gradle 'init'任务生成。
- 本项目使用了@Incubating API,该类API可能发生变更。
*/
需要调整3处配置,全部替换为Gradle官方标记的@Public稳定API即可:
- 调整Java版本兼容性配置的写法,将顶层的
java.sourceCompatibility赋值移入java扩展块内,避免直接调用顶层不稳定属性 - 替换
publications.create方法为publications.register,前者为立即创建的孵化态API,后者为懒加载的公共稳定API,是官方推荐的标准写法 - 替换
components["java"]的字符串索引写法为类型安全的components.java,属于公共稳定API;同时可以替换手动声明的Maven中央仓库地址为mavenCentral()公共API,简化配置
修改后的完整build.gradle.kts配置如下:
plugins { java `maven-publish` } repositories { mavenLocal() mavenCentral() } dependencies { } group = "org.example" version = "1.0-SNAPSHOT" description = "" java { sourceCompatibility = JavaVersion.VERSION_1_8 } publishing { publications.register<MavenPublication>("maven") { from(components.java) } }
修改完成后重新执行Gradle任务,就不会再出现孵化API的提示,所有调用的API均为@Public级别,跨版本兼容性有官方保障。
内容的提问来源于stack exchange,提问作者Chetan
相关产品推荐
相关产品推荐

