Kotlin: Kotlin环境安装与项目搭建
最后更新:2026-08-26
从 JDK 到 Gradle,从 REPL 到 IntelliJ IDEA——5 分钟搭建你的 Kotlin 开发环境,让 Alice 的 OrderProcessor 项目跑起来。
1. 你将学到
- JDK 安装与 配置
- IntelliJ IDEA + Kotlin 插件的安装
- Gradle Kotlin DSL 项目结构
- → → 运行 Hello World
- REPL / 交互式试玩
2. 一个新人的真实故事
(1) 痛点:环境配置像走迷宫
Alice 是团队的新人开发者,第一天接到任务:搭建 OrderProcessor 开发环境。她花了 3 小时在 JDK 版本、Gradle 配置、IDE 插件之间反复踩坑,连一个 Hello World 都没跑起来。
(2) 标准化搭建流程
BASH
# Step 1: Install JDK 17 (LTS)
# Step 2: Install IntelliJ IDEA
# Step 3: Create Gradle project with Kotlin DSL
# Step 4: Run Hello World in 5 minutes
按照标准化流程,Alice 在 5 分钟内完成环境搭建并成功运行第一个程序。
3. JDK 安装与配置
(1) JDK 版本选择
| 版本 | 类型 | 推荐度 | 说明 |
|---|---|---|---|
| JDK 17 | LTS | ⭐⭐⭐ | 长期支持,Spring Boot 3.x 最低要求 |
| JDK 21 | LTS | ⭐⭐⭐ | 最新 LTS,虚拟线程支持 |
| JDK 8 | 旧版 | ⭐ | 遗留项目维护,新项目不推荐 |
| JDK 11 | 旧 LTS | ⭐⭐ | 过渡版本,新项目建议直接 17+ |
(2) 安装与环境变量
BASH
# macOS (Homebrew)
brew install openjdk@17
# Ubuntu/Debian
sudo apt install openjdk-17-jdk
# Windows - download from adoptium.net
# Then set environment variables
BASH
# Verify installation
java -version
# openjdk version "17.0.x" ...
# Set JAVA_HOME (add to ~/.bashrc or ~/.zshrc)
export JAVA_HOME=$(/usr/libexec/java_home -v 17) # macOS
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk # Linux
flowchart TD
A[Download JDK 17] --> B[Install JDK]
B --> C[Set JAVA_HOME]
C --> D[Add to PATH]
D --> E{java -version OK?}
E -->|Yes| F[Proceed to IDE]
E -->|No| G[Check PATH config]
G --> C
4. IntelliJ IDEA 安装
(1) 版本选择
| 版本 | 价格 | Kotlin 支持 | 适用人群 |
|---|---|---|---|
| IDEA Ultimate | 付费 | 完整(Spring/KMP/Compose) | 企业开发者 |
| IDEA Community | 免费 | 基础 Kotlin 支持 | 个人学习者 |
| Fleet | 预览 | 新一代 IDE | 早期体验 |
(2) Kotlin 插件确认
TEXT
📖 仅展示
IntelliJ IDEA → Settings → Plugins → Installed
✅ Kotlin (bundled since 2020.x)
✅ Gradle (bundled)
💡 提示: IntelliJ IDEA 2020.x 及更高版本已内置 Kotlin 插件,无需手动安装。
5. Gradle Kotlin DSL 项目搭建
(1) 项目结构
TEXT
📖 仅展示
order-processor/
├── build.gradle.kts # Build configuration (Kotlin DSL)
├── settings.gradle.kts # Project settings
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── src/
│ ├── main/
│ │ └── kotlin/
│ │ └── com/order/
│ │ └── Main.kt
│ └── test/
│ └── kotlin/
│ └── com/order/
│ └── MainTest.kt
└── gradlew / gradlew.bat # Gradle wrapper scripts
(2) build.gradle.kts 配置
KOTLIN
// build.gradle.kts
plugins {
kotlin("jvm") version "1.9.22"
application
}
group = "com.order"
version = "1.0.0"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
testImplementation(kotlin("test"))
testImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
}
tasks.test {
useJUnitPlatform()
}
application {
mainClass.set("com.order.MainKt")
}
kotlin {
jvmToolchain(17)
}
(3) settings.gradle.kts
KOTLIN
// settings.gradle.kts
rootProject.name = "order-processor"
6. 第一个 Kotlin 程序
(1) 编写 Main.kt
KOTLIN
// src/main/kotlin/com/order/Main.kt
fun main() {
println("Hello, OrderProcessor!")
val orderCount = 1_500
val dailyRevenue = 89_500.50
// String template with expression
println("Today's stats: $orderCount orders, \$$dailyRevenue USD revenue")
}
(2) 运行方式对比
| 方式 | 命令 | 适用场景 |
|---|---|---|
| Gradle | 生产项目标准方式 | |
| IDE | 点击绿色三角 | 日常开发调试 |
| kotlinc | 命令行打包 | |
| REPL | 交互 | 快速实验 |
(3) 预期输出
TEXT
📖 仅展示
Hello, OrderProcessor!
Today's stats: 1500 orders, $89500.50 USD revenue
7. REPL 交互式试玩
Kotlin 自带 REPL(Read-Eval-Print Loop),适合快速验证代码片段。
BASH
$ kotlinc
Welcome to Kotlin version 1.9.22
Type :help for help, :quit for quit
>>> val orderTotal = 299.99
>>> println("Order total: \$$orderTotal USD")
Order total: $299.99 USD
>>> "ORD-${1001}".also { println(it) }
ORD-1001
>>> :quit
(1) REPL 快捷命令
| 命令 | 功能 |
|---|---|
| 显示帮助 | |
| 退出 REPL | |
| 查看历史输入 | |
| 查看已定义的类 |
8. 完整示例:Alice 的 OrderProcessor 初始化
KOTLIN
// ============================================
// OrderProcessor - Project Bootstrap
// Feature: Initialize project with basic domain models
// ============================================
// Domain model
data class Order(val id: String, val total: Double, val status: String)
// Business logic
fun calculateTax(order: Order, rate: Double = 0.08): Double {
return order.total * rate
}
fun formatReceipt(order: Order, tax: Double): String {
val grandTotal = order.total + tax
return """
|========================================
| Order Receipt
|========================================
| Order ID : ${order.id}
| Subtotal : $${order.total} USD
| Tax (8%) : $$tax USD
| Grand Total: $$grandTotal USD
| Status : ${order.status}
|========================================
""".trimMargin()
}
fun main() {
val order = Order("ORD-001", 299.99, "CONFIRMED")
val tax = calculateTax(order)
val receipt = formatReceipt(order, tax)
println(receipt)
// Process multiple orders
val orders = listOf(
Order("ORD-002", 1_500.00, "PROCESSING"),
Order("ORD-003", 45.50, "SHIPPED"),
Order("ORD-004", 8_900.00, "CONFIRMED")
)
val totalRevenue = orders.sumOf { it.total }
println("\nTotal revenue: \$$totalRevenue USD across ${orders.size} orders")
}
输出:
TEXT
📖 仅展示
========================================
Order Receipt
========================================
Order ID : ORD-001
Subtotal : $299.99 USD
Tax (8%) : $23.999200000000002 USD
Grand Total: $323.9892 USD
Status : CONFIRMED
========================================
Total revenue: $10445.5 USD across 3 orders
❓ 常见问题
Q Kotlin 必须用 Gradle 吗?可以用 Maven 吗?
A 可以用 Maven,但 Gradle Kotlin DSL 是官方推荐方式,Kotlin DSL 配置本身就是类型安全的 Kotlin 代码。
Q JDK 8 能运行 Kotlin 吗?
A 能。Kotlin 支持 JDK 8+,但新项目建议使用 JDK 17 LTS 以获得更好的性能和功能支持。
Q IntelliJ IDEA Community 够用吗?
A 对于纯 Kotlin/JVM 学习足够。但 Spring Boot 开发和 KMP 多平台需要 Ultimate 版。
Q kotlinc 命令找不到怎么办?
A Kotlin 编译器随 IntelliJ IDEA 安装,也可通过 或 单独安装。
Q Gradle Kotlin DSL 和 Groovy DSL 有什么区别?
A Kotlin DSL 用 Kotlin 写构建脚本,有类型提示和编译检查;Groovy DSL 用 Groovy 写,更灵活但无类型安全。新项目推荐 Kotlin DSL。
Q 运行报错 "Main class not found" 怎么办?
A 检查 中 是否指向正确的类名(注意 后缀: → )。
▶ 示例:使用 sdkman 安装
BASH
curl -s "https://get.sdkman.io" | bash
sdk install kotlin
kotlinc -version
输出:
TEXT
📖 仅展示
kotlinc-jvm 2.0.21 (JRE 17.0.11)
▶ 示例:创建 Gradle 项目
BASH
gradle init --type kotlin-application --dsl kotlin
./gradlew run
输出:
TEXT
📖 仅展示
BUILD SUCCESSFUL
▶ 示例:REPL 交互
KOTLIN
>>> val x = 10
>>> val y = 20
>>> x + y
30
输出:
TEXT
📖 仅展示
30
📖 小节
- JDK 17 LTS 是 Kotlin 开发的推荐版本,必须配置
- IntelliJ IDEA 内置 Kotlin 插件,是最佳开发 IDE
- Gradle Kotlin DSL 提供类型安全的构建配置
- Kotlin 程序入口是 ,无需包裹在类中
- REPL 适合快速实验和验证代码片段
-
- 字符串模板 + 默认参数让代码更简洁
📝 作业
- 基础题(难度⭐):安装 JDK 17 + IntelliJ IDEA,创建 Gradle Kotlin DSL 项目并运行 Hello World。提示:参考第 6 节
- 进阶题(难度⭐⭐):修改 ,添加 依赖。提示:
- 挑战题(难度⭐⭐⭐):用 编写一个脚本,读取命令行参数并输出订单摘要。提示: 访问参数, 运行