You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle构建失败:compileJava任务执行出错,依赖无法解析

解决Gradle 4.4无法解析jjschema依赖及生成JSON Schema的问题

首先,针对你遇到的Gradle 4.4无法解析com.github.reinert:jjschema:1.11依赖的问题,我们先从依赖配置入手解决:

一、修复依赖解析失败

Gradle 4.4属于较早版本,部分依赖的分发仓库可能需要补充,同时缓存问题也可能导致下载失败。你可以尝试以下步骤:

  1. 扩展仓库配置
    除了mavenCentral(),添加jcenter()仓库(虽然JCenter现已只读,但对于旧版本依赖仍可正常访问):

    repositories {
        mavenCentral()
        jcenter()
    }
    
  2. 刷新依赖缓存
    执行以下命令强制Gradle重新下载依赖,避免缓存导致的问题:

    gradle clean build --refresh-dependencies
    
  3. 确认JDK兼容性
    你的JDK 1.8.0_171与jjschema 1.11完全兼容,这部分无需调整。

二、编写JSON Schema生成代码

当依赖成功引入后,你可以通过以下工具类来生成目标POJO的JSON Schema:

package x_mqtt_message;

import com.github.reinert.jjschema.JsonSchemaGenerator;
import com.github.reinert.jjschema.SchemaGeneratorBuilder;
import org.json.JSONObject;

public class JsonSchemaCreator {
    public static void main(String[] args) {
        // 初始化Schema生成器
        JsonSchemaGenerator schemaGenerator = new SchemaGeneratorBuilder().build();
        
        // 生成MobileDevice的JSON Schema
        JSONObject deviceSchema = schemaGenerator.generateSchema(MobileDevice.class);
        
        // 格式化输出,方便查看
        System.out.println(deviceSchema.toString(4));
    }
}

三、关键注意事项

  • 确保JavaBean规范:所有POJO的字段必须配有完整的getter和setter方法,jjschema依赖这些方法来识别和映射字段。
  • 泛型类型支持:你的代码中使用的List<xService>和HashSet<xSensor>等泛型集合,jjschema会自动处理它们的Schema映射,无需额外配置。
  • Gradle版本建议:如果上述调整仍无法解决问题,建议将Gradle升级到5.x系列,新版本的依赖解析逻辑更稳定,同时支持更多现代构建特性。

内容的提问来源于stack exchange,提问作者cyber101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:09:01