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

Kotlin Script如何跨目录/包正确导入自定义HashTable类

Kotlin 脚本导入自定义类解决方案

Kotlin 脚本(*.kts)运行时默认不会自动加载项目 src/main/kotlin 下的自定义类,仅调整工作目录不会让脚本识别到源代码路径,可按以下方案解决:

方案1:IntelliJ 运行配置添加依赖(本地开发最适用)

  • 打开顶部菜单栏「运行」→「编辑配置」,找到 wordcount.kts 对应的运行配置
  • 在「类路径和模块的源代码」选项中,添加项目根目录下的 src/main/kotlin 路径作为依赖
  • 导入语句直接写 import dataStructures.HashTable 即可,不需要额外加 kotlin 前缀

方案2:脚本内主动指定源码路径(无需修改运行配置)

在 wordcount.kts 文件最顶部添加以下代码,手动将源码根目录加入类路径:

@file:DependsOn("../../src/main/kotlin")

后续同样用 import dataStructures.HashTable 导入类即可。

方案3:命令行运行场景解决方案

如果需要在命令行执行脚本,可以先将自定义类编译为jar包再关联运行:

  1. 进入项目根目录,执行编译命令生成jar包:
    kotlinc src/main/kotlin/dataStructures/HashTable.kt -d hashtable.jar
  2. 运行脚本时指定依赖的jar包:
    kotlin -cp hashtable.jar scripts/kotlin/wordcount.kts

注意事项

  • 先确认 HashTable.kt 文件顶部的包声明为 package dataStructures,包名不匹配会导致导入失败
  • 确认 HashTable 类的可见性为public,私有类/内部类无法被外部脚本直接导入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:06:03