使用jsonschema2pojo Gradle插件生成DTO时遇插件未找到错误
解决Gradle中jsonschema2pojo插件找不到的问题
错误原因
你在plugins块中直接声明id 'jsonschema2pojo'时,Gradle默认会去官方插件门户查找,但该插件的完整ID是org.jsonschema2pojo,且你未指定版本,同时buildscript块的配置与plugins块的声明方式不兼容,导致插件无法被找到。
解决方法
方法一:使用完整插件ID并指定版本(推荐)
这种方式符合Gradle现代插件使用规范,无需保留buildscript块:
修改plugins块,替换原有的jsonschema2pojo声明为带版本的完整ID:
plugins { id 'java' id 'org.jsonschema2pojo' version '1.2.1' // 可替换为最新稳定版本 id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEASE' }
提示:可通过Gradle插件渠道查询
org.jsonschema2pojo的最新版本号。
方法二:保留buildscript配置,改用apply方式
移除plugins块中的id 'jsonschema2pojo',在buildscript块后添加插件应用声明,并确保buildscript中指定插件版本:
buildscript { repositories { mavenCentral() } dependencies { classpath 'org.jsonschema2pojo:jsonschema2pojo-gradle-plugin:1.2.1' // 指定对应版本 } } apply plugin: 'jsonschema2pojo' plugins { id 'java' id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEASE' }
验证
修改配置后执行gradle build命令,检查${project.buildDir}/generated-sources/js2p目录下是否生成了预期的DTO类,同时确保src/main/json-schema目录下存在合法的JSON Schema文件。
内容的提问来源于stack exchange,提问作者Roberto
相关产品推荐
相关产品推荐

