首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Kotlin Toolchain 0.11 正式发布:Amper 改名后,这 5 个变化你必须知道

Kotlin Toolchain 0.11 正式发布:Amper 改名后,这 5 个变化你必须知道

作者头像
DevLlama
发布2026-06-29 16:22:06
发布2026-06-29 16:22:06
1830
举报

你刚学会用 Amper 创建了一个 Kotlin 项目,配置简洁、体验丝滑,正准备安利给同事。

结果打开官网一看:Amper 没了,取而代之的是"Kotlin Toolchain"。

你的第一反应可能是:"又改名?之前的项目还能跑吗?"

别慌。这次不是简单的换皮,而是 JetBrains 对 Kotlin 构建生态的一次顶层设计调整。Amper 的所有能力被完整迁移到了 Kotlin Toolchain,项目直接从实验阶段跳到了 Alpha

今天这篇,给你梳理 5 个必须知道的变化,看完你就知道该不该跟进、怎么跟进。


一、从 Amper 到 Kotlin Toolchain:不是改名,是定位升级

JetBrains 当初的愿景是做一个声明式的构建工具,降低 Kotlin 项目的配置门槛。

但随着项目演进,他们发现:开发者需要的不是"又一个构建工具",而是一个统一的 Kotlin 生态入口

Kotlin Toolchain 就是这个入口。它提供了一个 kotlin 命令,你可以用它:

  • • 创建项目(kotlin init
  • • 构建、运行、测试
  • • 打包、发布
  • • 未来还会支持格式化、文档生成……

核心区别是什么? 以前你用 Gradle/Maven,得先选工具、配插件、写脚本,才能写第一行代码。现在一个 kotlin 命令拉通全部。

对已有 Amper 项目的影响:

  • amper / amper.bat wrapper 脚本 → 替换为 kotlin / kotlin.bat
  • • IntelliJ IDEA 里的 Amper 插件 → 卸载,安装 Kotlin Toolchain 插件
  • • 项目配置语法基本不变,迁移成本很低

金句:工具选型的最高境界,是没有选型。拿起就能用,才是好工具。


二、全局安装:告别 wrapper,一条命令 everywhere

以前每个项目都要提交 wrapper 脚本,虽然能保证"clone 即构建",但也有明显痛点:

  • • 在项目子目录里执行命令不方便
  • • 创建新项目得先手动下载 wrapper 或从别的项目复制
  • • 全局命令如 kotlin clean-shared-caches 没法用

0.11 引入了全局安装,推荐通过 SDKMAN:

代码语言:javascript
复制
sdk install kotlintoolchain

安装后,你可以在任意目录使用 kotlin 命令,系统会自动找到项目里的 wrapper 脚本并调用对应版本。这带来了几个实际好处:

  1. 1. 子目录直接执行:不用 cd 回项目根目录再跑命令
  2. 2. 新项目自然创建kotlin init 直接生成,不用先搞 wrapper
  3. 3. 全局工具命令可用:比如 kotlin tool jaegerkotlin clean-shared-caches
  4. 4. 版本自动对齐:全局命令会自动匹配项目 wrapper 的版本,不会搞混

一句话:全局安装让 kotlin 命令像 git 一样自然,但版本隔离依然安全。


三、JVM 库发布:一条命令上 Maven Central(预览版)

这是让很多 Kotlin 开发者等了很久的功能。

以前用 Kotlin Toolchain 写库,本地跑得好好的,发布到 Maven 仓库时还得切换回 Gradle。现在 0.11 正式支持 JVM 库发布,包括 Maven Central。

普通 Maven 仓库的配置很直观:

代码语言:javascript
复制
product: jvm/lib
repositories:
  - id: myMavenRepoId
    url: https://maven.pkg.github.com/my-org/my-maven-repo
    publish: true
    credentials:
      file: creds.properties
settings:
  publishing:
    enabled: true
    group: com.example
    version: 1.0.0

执行 kotlin publish myMavenRepoId,项目就上去了。

Maven Central 更复杂,但 Kotlin Toolchain 帮你把脏活全包了:

  • • 自动生成 sources 和 javadoc JAR
  • • PGP 签名(不需要本地安装 GPG)
  • • POM 元数据、checksums
  • • 打包、上传、等待验证

配置只需要声明你要发布什么:

代码语言:javascript
复制
settings:
  publishing:
    enabled: true
    group: com.example
    version: 1.0.0
    mavenCentral:
      enabled
      signArtifacts: true
      publishSources: true
      pom:
        url: https://example.com
        scm: https://github.com/my-org/example.git
        developers:
          - name: John Doe
        licenses:
          - name: MIT

然后一行命令:

代码语言:javascript
复制
kotlin publish mavenCentral

Kotlin Multiplatform 库的发布还在开发中,但 JVM 库的通路已经打通。

金句:发布到 Maven Central 以前是个手艺活,现在变成了声明式配置。


四、插件开发增强:自定义 checks、commands、generated 文件

如果你写过 Kotlin Toolchain 插件(或 Amper 插件),0.11 带来了三个重磅能力:

4.1 自定义 Checks

kotlin check 命令默认跑单元测试,现在插件可以注册额外的质量检查:

代码语言:javascript
复制
# my-lint-plugin/plugin.yaml
tasks:
  runLinter:
    action: !kotlinJavaLint
      sources: ${module.kotlinJavaSources}
checks:
  - name: lint
    performedBy: runLinter

用户可以直接跑 kotlin check lint,也可以 kotlin show checks 查看所有检查项。

4.2 自定义 Commands

插件任务默认是私有的。如果你想暴露一个公共入口(比如生成 changelog、打印信息),用 commands 注册:

代码语言:javascript
复制
commands:
  - updateBaseline

用户通过 kotlin do updateBaseline 调用,会自动运行关联任务及其依赖。

4.3 Generated 文件注册

以前用 markOutputAs 标记生成文件,现在有了专门的 generated 区块,结构更清晰:

代码语言:javascript
复制
generated:
  sources:
    - directory: ${tasks.generateStuff.action.outputSources}
      language: kotlin
  resources:
    - directory: ${tasks.generateStuff.action.outputResources}
  cinteropDefinitions:
    - directory: ${tasks.generateStuff.action.outputDefFiles}

人类能看懂,AI 工具也能解析。

这三个能力加在一起,意味着 Kotlin Toolchain 的插件生态即将进入快车道。


五、IDE 和终端体验全面升级

5.1 终端 UI 改进

  • • 更好的进度指示器,和终端原生进度条集成
  • • Kotlin JVM 编译器诊断信息渲染优化(需 Kotlin 2.4.0+)

5.2 库源码自动下载

项目同步完成后,库源码在后台自动下载。你不用等源码下完就能开始写代码,断点调试时再一看——源码已经在了。

5.3 模块级依赖解析

以前 IDE 插件在 project 级别解析依赖,CLI 在 module 级别解析,两边行为不一致,导致模块里出现错误的依赖版本或编辑器警告。

现在 IDE 也按模块解析了,CLI 和 IDE 的诊断结果完全一致

5.4 Cinterop 支持

在模块的 cinterop 文件夹里放 .def 文件,Kotlin Toolchain 自动生成 C 库绑定。IDE 同步时也会触发绑定生成,补全和导航直接可用。

5.5 其他实用改进

改进项

说明

lib → kmp/lib

产品类型重命名,更清晰

嵌套模板

模板可以 apply 其他模板,构建逻辑层次

Maven classifier

支持依赖特定 artifact,如 netty-transport-native-epoll:4.2.13.Final:linux-x86_64

run 命令优化

只有唯一可运行模块时,自动选择,无需显式指定

默认版本更新

Kotlin 2.3.21、Ktor 3.4.3、SpringBoot 4.0.6、KSP 2.3.7 等


总结:5 个变化,一张清单

序号

变化

影响

你该做什么

1

Amper → Kotlin Toolchain

品牌定位升级,Alpha 阶段

替换 wrapper 脚本,安装新 IDE 插件

2

全局安装

SDKMAN 一键安装,告别 wrapper 束缚

sdk install kotlintoolchain,全局使用

3

JVM 库发布

一行命令发布到 Maven Central

在 module.yaml 中配置 publishing

4

插件开发增强

checks/commands/generated 三大新能力

如果你是插件作者,升级 API 试试看

5

IDE/终端体验

源码自动下载、模块级依赖、Cinterop、UI 优化

升级到 IntelliJ IDEA 2026.1.2+

今天可以先做的第一步: 如果你在用 Amper,先全局安装 Kotlin Toolchain,然后在项目里执行:

代码语言:javascript
复制
kotlin update --create

这条命令会自动生成新的 kotlin wrapper 脚本,替换掉旧的 amper。后续更新直接用 kotlin update

5 分钟就能完成迁移,剩下的时间可以用来试试新发布的 Maven Central 功能。


今天的分享就到这里。后续我会持续为大家带来实用的技术干货和前沿的技术资讯。如果你对工具链探索感兴趣,我会持续分享前端工程化、构建优化等实战经验,欢迎关注,不要错过任何精彩内容!

支持我们,点赞或分享到朋友圈!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevLlama 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、从 Amper 到 Kotlin Toolchain:不是改名,是定位升级
  • 二、全局安装:告别 wrapper,一条命令 everywhere
  • 三、JVM 库发布:一条命令上 Maven Central(预览版)
  • 四、插件开发增强:自定义 checks、commands、generated 文件
    • 4.1 自定义 Checks
    • 4.2 自定义 Commands
    • 4.3 Generated 文件注册
  • 五、IDE 和终端体验全面升级
    • 5.1 终端 UI 改进
    • 5.2 库源码自动下载
    • 5.3 模块级依赖解析
    • 5.4 Cinterop 支持
    • 5.5 其他实用改进
  • 总结:5 个变化,一张清单
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档