如何从Sonatype仓库导入自定义Gradle插件?本地可用远程报错
确认Sonatype仓库的插件资源状态
登录Sonatype Nexus后台,检查contractor-plugin对应的plugin marker artifact是否已成功上传。Marker artifact的格式为[你的插件groupId]:contractor-plugin.gradle.plugin:1.0.0,这个文件是Gradle通过id识别插件的关键。如果缺失,需要检查上传配置是否正确生成并推送了该文件。验证Sonatype仓库的访问权限与同步状态
若你是首次发布到Sonatype,需要完成仓库关闭、发布到Maven Central的流程,否则OSS仓库中的资源可能处于未公开状态。另外,Sonatype到Maven Central的同步可能需要1-2小时,等待同步完成后再尝试引入。核对插件引入的坐标与上传的实际坐标
确保build.gradle.kts中使用的插件idcontractor-plugin,与你在java-gradle-plugin配置中声明的pluginId完全一致。同时确认上传的插件版本确实是1.0.0,没有版本号拼写错误。强制刷新Gradle依赖缓存
执行以下命令清除本地缓存并重新拉取依赖:./gradlew --refresh-dependencies临时使用完整坐标引入排查问题
如果通过id引入仍失败,可以尝试用完整classpath坐标引入,确认仓库是否能正常拉取插件:// build.gradle.kts buildscript { repositories { maven { url = uri("https://s01.oss.sonatype.org/content/repositories/releases") } } dependencies { classpath("[你的插件groupId]:contractor-plugin:1.0.0") } } apply(plugin = "contractor-plugin")如果这种方式能成功,说明问题出在plugin marker artifact的生成或上传环节,需要检查
java-gradle-plugin的publish配置是否正确生成marker。检查仓库URL的正确性
确认settings中配置的Sonatype仓库URL是否与上传的仓库匹配:如果是快照版本需要用snapshots仓库URL,正式版本用releases,避免仓库类型不匹配导致找不到资源。
内容的提问来源于stack exchange,提问作者KurdTt-

