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

Gradle项目导入自行打包的jar包失败,构建提示skija包不存在

你当前打包生成的scenes.jar中存放的是.java源代码文件,Java和Gradle编译时只会识别Jar包内的.class字节码文件,因此无法识别到skija包结构,才会报包不存在的错误。

解决步骤

  • 先编译Java源代码生成字节码:将你写的skija.scenes包下的所有Java文件编译为.class文件,可以通过javac命令,或者IDE的构建功能生成编译输出目录(比如Gradle项目默认是build/classes/java/main,Maven项目默认是target/classes)。
  • 重新打包Jar:进入编译输出的根目录(该目录下可以直接看到skija文件夹,skija/scenes路径下全是.class文件),执行打包命令 jar cfv scenes.jar *。
  • 验证Jar包内容:执行jar tf scenes.jar检查,输出的路径下应该是skija/scenes/xxx.class格式的文件,而非.java后缀的源文件即打包正确。
  • 清理冗余Gradle配置:
    1. 删掉settings.gradle中你新增的pluginManagement下的buildscript、flatDir、classpath相关配置,你引入的是项目编译依赖,不是Gradle插件依赖,这部分配置完全无效。
    2. 简化build.gradle配置,删除重复的依赖声明,只保留一份依赖配置即可,示例如下:
    repositories {
        // 保留你原本需要的其他仓库,比如mavenCentral等
        mavenCentral()
        flatDir {
            dirs 'lib'
        }
    }
    dependencies {
        // 仅保留这一行即可引入lib目录下所有Jar包,其余相关依赖声明全部删除
        implementation fileTree(dir: 'lib', include: ['*.jar'])
    }
    
  • 重新构建项目:将新打包的正确Jar包放入项目lib目录替换旧文件,执行gradlew clean build(Windows系统)或./gradlew clean build(Mac/Linux系统)重新构建项目即可。如果IDEA仍有报错提示,点击Gradle面板的刷新按钮,或者执行File -> Invalidate Caches...重启IDEA即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:09:03