Kotlin: Kotlin环境安装与项目搭建

最后更新:2026-08-26

从 JDK 到 Gradle,从 REPL 到 IntelliJ IDEA——5 分钟搭建你的 Kotlin 开发环境,让 Alice 的 OrderProcessor 项目跑起来。

1. 你将学到


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
100%
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

📖 小节


📝 作业

  1. 基础题(难度⭐):安装 JDK 17 + IntelliJ IDEA,创建 Gradle Kotlin DSL 项目并运行 Hello World。提示:参考第 6 节
  2. 进阶题(难度⭐⭐):修改 ,添加 依赖。提示:
  3. 挑战题(难度⭐⭐⭐):用 编写一个脚本,读取命令行参数并输出订单摘要。提示: 访问参数, 运行

← 上一课 | 下一课 →

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏