0

0

sublime怎么运行kotlin_sublime配置kotlin环境【方案】

尼克

尼克

发布时间:2026-03-19 14:21:55

|

335人浏览过

|

来源于php中文网

原创

不能。Sublime Text 是纯文本编辑器,无内置Kotlin支持,需手动配置构建系统调用kotlinc编译再用java执行,且必须预先安装JDK和Kotlin编译器并正确配置PATH。

sublime怎么运行kotlin_sublime配置kotlin环境【方案】

Sublime Text 能不能直接运行 Kotlin

不能。Sublime Text 本身只是文本编辑器,没有内置 Kotlin 运行时或编译器集成,kotlincjava 都得靠外部命令调用。所谓“运行 Kotlin”,本质是配置一个能自动调用 kotlinc 编译再用 java 执行的构建系统 —— 不是插件帮你跑,是你告诉 Sublime “按这个命令链去 shell 里执行”。

必须先装好 Kotlin 编译器和 JDK

很多人卡在这步,却以为是 Sublime 配置问题。Kotlin 编译依赖 JDK 1.8+(推荐 JDK 17),且必须把 kotlinc 加入 PATH,否则 Sublime 的构建系统根本找不到它。

  • 检查 java -versionkotlinc -version 是否能在终端/命令行直接运行
  • Mac/Linux:确认 kotlinc/usr/local/bin 或 SDK 安装路径下,且该路径已写入 ~/.zshrc~/.bash_profile
  • Windows:确保 kotlinc.bat 所在目录(如 C:\kotlinc\bin)已加进系统 PATH 环境变量
  • 别用包管理器(如 sdkman、choco)安装后跳过重开终端 —— Sublime 启动时读的是旧环境变量

怎么写一个靠谱的 Kotlin 构建系统(.sublime-build)

Sublime 的构建系统本质是 JSON 文件,核心是让 cmd 数组正确拼出编译 + 运行命令。常见错误是硬编码路径、忽略包名、或没处理 .kt 文件名与主类名不一致的情况。

阶跃星辰开放平台
阶跃星辰开放平台

阶跃星辰旗下开放平台,提供文本大模型、多模态大模型、繁星计划

下载
  • 推荐用 shell_cmd 而非 cmd,避免 Windows 下路径空格和转义问题
  • 编译命令必须指定输出目录(如 -d ./out),否则 kotlinc 默认生成 .class 到当前目录,容易污染源码
  • 运行阶段要用 java -cp ./out MainKt(无包)或 java -cp ./out com.example.MainKt(有包),注意 MainKt 是默认生成的类名,不是文件名
  • 完整示例(保存为 Kotlin.sublime-build,放在 Packages/User/):
{
  "shell_cmd": "kotlinc \"$file\" -d ./out && java -cp ./out $(basename \"$file\" .kt)Kt",
  "file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$",
  "selector": "source.kotlin"
}

为什么改完构建系统还是报错:Class not found

这是最常被忽略的点:Kotlin 编译后生成的类名不是 xxx.kt,而是 xxxKt(无包)或 com.example.xxxKt(有包)。如果文件叫 Hello.kt,主函数在顶层,运行时必须用 java HelloKt,不是 java Hello

  • 检查编译输出:ls ./outdir ./out,确认生成的是 MyAppKt.class 而非 MyApp.class
  • 如果用了 package,运行命令的 classpath 和类名都得带上包路径,比如 java -cp ./out com.example.MyAppKt
  • 构建系统里用 $(basename ...)%~n 提取文件名时,务必加 Kt 后缀 —— Kotlin 不会自动帮你补
  • Windows 用户注意:%~n 只能用于批处理,Sublime 的 cmd 模式不支持,必须切回 shell_cmd 或写完整批处理脚本
Kotlin 的构建逻辑和 Java 不完全等价,尤其是类名映射规则和默认包处理,Sublime 不会做任何推断 —— 它只忠实地执行你写的命令。写构建系统时,先在终端手动跑通 kotlincjava,再把那条命令原样搬进 shell_cmd,是最稳的路径。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Kotlin协程编程与Spring Boot集成实践
Kotlin协程编程与Spring Boot集成实践

本专题围绕 Kotlin 协程机制展开,深入讲解挂起函数、协程作用域、结构化并发与异常处理机制,并结合 Spring Boot 展示协程在后端开发中的实际应用。内容涵盖异步接口设计、数据库调用优化、线程资源管理以及性能调优策略,帮助开发者构建更加简洁高效的 Kotlin 后端服务架构。

157

2026.02.12

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

459

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

549

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

84

2025.09.10

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

952

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

33

2025.12.06

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1564

2023.07.26

Go Web框架Gin接口开发与中间件设计实践
Go Web框架Gin接口开发与中间件设计实践

本专题围绕 Go 在 Web 后端开发中的主流框架 Gin 展开,系统讲解高性能接口开发与中间件机制设计。内容涵盖路由分组、请求绑定、参数校验、统一响应封装、日志与鉴权中间件实现,以及接口限流与异常处理策略。通过实战项目案例,帮助开发者构建结构清晰、性能优良的 Go Web 服务体系,提升接口开发效率与系统可维护性。

7

2026.03.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号