Amper 0.10发布:引入JDK自动配置、Maven转换器及编译器插件支持
查看所有往期文章 jb.gg/amper-blog
Amper 0.10.0 现已发布!此版本带来了多项新功能,例如 JDK 配置、自定义 Kotlin 编译器插件、Maven 转 Amper 转换器以及多项 IDE 改进。请继续阅读以了解详情,并查看发行说明以获取完整的变更和错误修复列表。
如需获取 Amper 最新功能的支持,请使用 IntelliJ IDEA 2025.3.4 或 IntelliJ IDEA 2026.1 (或更高版本)。请确保安装了最新版本的 Amper 插件。
JDK 配置
Amper 需要 JDK(Java Development Kit)来执行项目中的各种任务:编译 Kotlin 和 Java 源码、运行测试、运行 JVM 应用等。
我们的理念是,您无需在机器上手动安装或配置任何内容即可运行项目。正因如此,Amper 能够自动为您配置 JDK——默认情况下为 JDK 21。
不过,某些项目需要特定的 JDK 版本。现在,您可以在 module.yaml 中指定所需 JDK 的条件,Amper 将下载并安装匹配的 JDK。
Amper 还会考虑 JAVA_HOME 环境变量,因为这是在机器上设置所用 JDK 的常用方式。您可以在文档中阅读更多关于 Amper JDK 配置行为的信息。
Maven 转换器与 Maven 插件兼容性
如果您已有 Maven 项目,则不必从头开始重写构建配置。此版本引入了一个半自动转换工具,它可以读取您的 pom.xml 文件(包括多模块 Reactor 项目中的文件),并为您生成相应的 project.yaml 和 module.yaml 文件。使用方法很简单,只需运行:
该转换器会将您的依赖项、BOM、仓库、发布坐标、编译器标志和其他设置映射为 Amper 的等效项。为了在过渡期间支持同时使用两种构建系统,它会在每个模块中设置 layout: maven-like,这样您的源目录结构(包括 src/main/java 和 src/main/kotlin)将保持不变,无需移动任何文件。
诸如 maven-compiler-plugin 和 spring-boot-maven-plugin 等知名 Maven 插件会被转换为内置的 Amper 设置。其他 Maven 插件则会添加到 module.yaml 中新的 mavenPlugins 配置部分,Amper 可以通过我们的 Maven 插件兼容层在构建过程中执行它们。
由于转换是尽力而为的,某些项目可能在转换后需要微调。有关完整演练和限制列表,请参阅文档。
Kotlin 编译器插件
此版本带来了对第三方 Kotlin 编译器插件的支持。启用此功能非常简单,只需在 module.yaml 中添加以下内容:
请参阅文档了解示例以及如何为自定义插件启用 IDE 支持。
我们还增加了对 kotlinx.rpc 和 JsPlainObjects 编译器插件的内置支持。
IDE 改进
重构了运行 Amper 命令的 UX
我们重新设计了在 IDE 中创建和编辑运行配置的 UI。新的自定义视图让您可以更方便地配置 run 和 test 命令的选项:
[LOADING...] [LOADING...]
此外,您现在可以通过在“添加新配置”菜单中选择 Amper 来为任何 Amper 命令创建配置: [LOADING...]
如果您想以临时方式运行命令,可以使用 Run Anything(运行任何内容) (Ctrl+Ctrl) 并在命令前加上 amper:
[LOADING...]
在 module.yaml 中为原生应用提供运行装订线图标
原生应用(linux/app、macos/app、windows/app)现在可以通过装订线(gutter)图标从 IDE 启动:
[LOADING...]
Test 工具窗口中更好的测试名称
现在,当显示测试执行树时,Test 工具窗口会遵循 JUnit 5 的 @DisplayName 和 @ParameterizedTest.name 注解。
[LOADING...]
Ktor 插件辅助
如果您的模块具有 Ktor 服务器依赖项,module.yaml 文件将通过 Add Plugins...(添加插件...)嵌入式提示提供搜索和添加插件的支持:
[LOADING...]
或者,您可以使用 Kotlin 代码中的补全功能,它会自动添加所有必要的依赖项,而无需您手动操作 module.yaml 文件:
[LOADING...]
支持分析 JVM 应用
注意:此功能需要 IntelliJ IDEA Ultimate。
现在可以使用 IntelliJ IDEA 的分析器支持来运行 jvm/app 模块中的运行命令配置:
[LOADING...]
Amper 插件开发
Amper 的上一个版本带来了 Amper 可扩展性系统的预览。我们收到了大量反馈,目前正在致力于扩展插件的功能。虽然发布和共享插件的功能仍在开发中,但此版本已包含一项有价值的改进:您现在可以在 plugin.yaml 中使用 ${module.settings} 来引用插件中的模块设置:
[LOADING...]
其他改进
从 0.10 版本开始,Amper 支持在传递依赖项的 POM 文件中声明的 Maven 配置 (Profiles)。
在此版本中,我们还引入了在 module.yaml 中添加模块描述的功能。描述采用 Markdown 格式,可以占用多行。此文本不仅用于 CLI 中的 ./amper show modules 命令,IDE 也会用它来显示模块信息。对于库,默认情况下它还会用作发布元数据中的描述。
[LOADING...]
更新的默认版本
我们更新了工具链和框架的一些默认版本:
- Kotlin: 2.3.20
- Android 最低 SDK: 23
- Compose: 1.10.3
- KSP: 2.3.6
- Ktor: 3.4.1
- Spring Boot: 4.0.5
尝试 Amper 0.10.0
要更新现有项目,请使用 ./amper update 命令。
要开始使用 Amper,请查看我们的入门指南。根据您的学习偏好,您可以查看示例、跟随教程或阅读详尽的用户指南。
分享您的反馈
Amper 仍处于实验阶段,正处于积极开发中。您可以通过加入 Kotlinlang Slack 的 #amper 频道参与讨论,或在 YouTrack 问题跟踪器中分享您的建议和想法,以此提供反馈。您的输入和使用案例将助力 Amper 的未来发展!