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

Kotlin代码在IntelliJ正常运行,命令行编译报unresolved reference错误

解决命令行编译Kotlin代码时Gson依赖未找到的问题

问题原因

IntelliJ IDEA会自动管理项目的依赖类路径,把Gson的jar包纳入编译和运行环境,但原生kotlinc编译器默认只识别JDK和Kotlin标准库,无法自动找到第三方依赖,所以会报unresolved reference: google这类错误。

解决方案

1. 临时编译运行(仅编译时指定依赖)

找到你项目中使用的Gson jar文件(可以从IntelliJ的External Libraries里右键复制路径,或者从Maven中央仓库下载对应版本),修改编译命令,通过-cp(即-classpath的缩写)参数引入Gson依赖:

kotlinc *.kt -cp /path/to/your/gson-x.x.x.jar -include-runtime -d GizmosK.jar

编译完成后,运行jar包时需确保Gson jar在类路径中;如果需要可直接分发的独立jar,参考下面的方法。

2. 生成包含所有依赖的可分发jar包

如果要生成能直接分发、无需额外依赖的jar,需要把Gson的类合并到最终jar里:

  • 第一步:编译代码到class文件目录
    kotlinc *.kt -cp /path/to/your/gson-x.x.x.jar -d classes
    
  • 第二步:解压Gson jar到class文件目录
    unzip /path/to/your/gson-x.x.x.jar -d classes
    
  • 第三步:创建manifest.txt文件,指定主类(替换成你的主类全限定名,比如com.yourpackage.MainKt):
    Main-Class: com.yourpackage.MainKt
    
  • 第四步:打包成可运行jar
    jar cvfm GizmosK.jar manifest.txt -C classes .
    

这样生成的GizmosK.jar就包含了Kotlin运行时、Gson依赖和你的代码,直接用java -jar GizmosK.jar就能运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:01:01