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

IntelliJ中两个Gradle项目依赖本地模块,其一无法调用依赖内模型

问题解决思路

1. 检查依赖缓存与jar包完整性

  • 先确认clevergift-core构建出的jar包是否包含com.clevercards.businesscardmodels类:
    • 在clevergift-core项目执行./gradlew build,找到build/libs/clevergift-core-3.20.853-SNAPSHOT.jar,解压后查看是否存在对应包的class文件。
  • 如果jar包不包含目标类,修正clevergift-core的构建配置:
    • 确保jar任务包含所有sourceSets输出:
      jar {
          from sourceSets.main.output
      }
      
    • 执行./gradlew clean jar重新构建jar包,验证generateSwaggerCode任务是否在jar构建前执行(当前compileJava.dependsOn配置已保证此逻辑)。
  • 在clevercards-business-api项目中强制刷新依赖:
    • 执行命令:./gradlew clean build --refresh-dependencies
    • 检查本地Maven仓库(~/.m2/repository/com/cb/clevergift-core/3.20.853-SNAPSHOT/)中的jar包是否为最新构建版本。

2. 修复IntelliJ同步问题

  • 刷新Gradle项目:点击IntelliJ右侧Gradle面板的「Refresh all Gradle projects」图标。
  • 清除IDE缓存:执行File -> Invalidate Caches... -> Invalidate and Restart,重启后重新同步项目。
  • 检查项目库配置:打开File -> Project Structure -> Libraries,找到clevergift-core的依赖库,确认其包含com.clevercards.businesscardmodels的类,若缺失则移除该库后重新同步Gradle。

3. 验证sourceSets配置正确性

  • 调整clevergift-core的sourceSets写法,避免路径解析问题:
    sourceSets.main.java.srcDirs = [
        sourceSets.main.java.srcDirs,
        swaggerSources.clevergift.code.outputDir.resolve('src/main/java'),
        swaggerSources.businesscard.code.outputDir.resolve('src/main/java')
    ]
    
  • 执行./gradlew sourceSets查看main源码目录是否包含两个生成目录,确认配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:57:30