# 教程：创建您的第一个 Kotlin 应用程序

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

> **TL;DR**
> 必需插件：   Kotlin  （捆绑）

在本教程中，您将学习如何：

* 创建一个 Kotlin 项目。

* 使用基本编码辅助功能编写代码。

* 从 IntelliJ IDEA 运行您的代码。

* 构建并打包应用程序。

* 运行已打包的应用程序。

您可以选择使用四个受支持的构建工具之一来构建您的应用程序。

> **Note:**
> 本文提供 Gradle 和 Kotlin DSL 的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 提供了 Gradle 和 Groovy 作为 DSL 的说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 本文提供 Maven 的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 本文提供 IntelliJ 构建工具的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

## 创建一个新的项目

在 IntelliJ IDEA 中，项目帮助您将开发应用程序所需的一切组织成一个单元。

Procedure:

1. 启动 IntelliJ IDEA。

在 IntelliJ IDEA 主屏幕上，点击  `新建 | 项目` 。 如果已经打开了项目，请从主菜单中选择  `文件 | 新建项目` 。

2. 在左侧列表中，选择   Kotlin  。

3. 请为您的新项目命名，并在必要时更改其位置。

4. 请选择   Gradle     IntelliJ     Maven   构建系统。

> **Tip:**
> 如果想查看本教程其他构建系统的说明，请在本页顶部的   构建工具   切换器中选择。

5. 请选择   Groovy     Kotlin   语言用于构建脚本。

6. 从    JDK    列表中选择您想在项目中使用的 [JDK](sdk.html#jdk)。

* 如果已在计算机上安装 JDK，但未在 IDE 中定义，请选择 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.nodes.jdk.png) 从磁盘添加 JDK… 并指定 JDK 主目录的路径。​

* 如果您的计算机上没有必要的 JDK，请选择 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.download.svg) 下载 JDK 。

> **Tip:**
> 如果您不知道选择哪个发行版，并且没有具体要求使用现有的某个发行版，请使用 Oracle OpenJDK。

有关 JDK 及其安装的更多信息，请参阅 [Java 开发工具包 (JDK) 指南](sdk.html#jdk)。

7. 确保启用了   添加示例代码   选项。 它会创建一个包含示例  `Hello World!`  应用程序的文件。

![使用 Kotlin DSL 和 Gradle 构建系统的新 Kotlin 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin-new-project-gradlek.png)

![使用 Gradle 构建系统和 Groovy DSL 创建新的 Kotlin 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin-new-project-gradleg.png)

![使用 IntelliJ 构建系统的新 Kotlin 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin-new-project-idea.png)

![使用 Maven 构建系统的新 Kotlin 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin-new-project-maven.png)

8. 启用   使用紧凑项目结构  选项以创建具有简化文件夹结构的项目。

9. 点击   创建  。

## 编写代码

源代码是您项目的核心部分。 在源代码中，您需要定义您的应用程序要做什么。 真实项目可能非常庞大，包含数十万行代码。 在本教程中，我们将从一个简单的三行程序开始，该程序会询问用户的名称并向他们致意。

Procedure:

1. 在左侧的   项目   工具窗口中，展开以您的项目命名的节点并打开  `/src/main/kotlin/Main.kt`   `/src/Main.kt`  文件。

![Project 工具窗口中的 src/main/kotlin/main.kt](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_main_kt.png)

![Project 工具窗口中的 src/main/kotlin/main.kt](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_main_kt_groovy.png)

![Project 工具窗口中的 src/main/kotlin/main.kt](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_main_kt_intellij.png)

![Project 工具窗口中的 src/main/kotlin/main.kt](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_main_kt_maven.png)

2. 文件仅包含  `main()`  函数和打印语句。 此函数是程序的入口点。

请用以下代码段替换  `main`  函数／方法 的定义：

```KOTLIN

fun main() {
    println("What is your name?")
}


```

3. 既然程序会要求用户输入，为他们提供一种输入方式。 此外，程序需要将输入存储在某处。

将文本光标移动到下一行并输入  `val name = rl` 。 IntelliJ IDEA 将建议将  `rl`  转换为  `readln()` 。 请按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS)) 以接受建议。

![代码补全操作](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_cc_1.png)

4. 将文本光标移动到下一行并输入  `println("Hello, $")` 。 按 `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS)) 调用代码补全，并从列表中选择  `名称`  变量。

![代码补全操作](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_cc_2.png)

最终代码应如下所示：

```KOTLIN

fun main() {
    println("What is your name?")
    val name = readln()
    println("Hello $name!")
}


```

现在我们有一个能从控制台读取用户名的可用代码，将其存储在一个只读变量中，并使用存储的值输出问候语。

## 从 IntelliJ IDEA 运行代码

让我们验证一下我们的程序是否按预期工作。

IntelliJ IDEA 允许您直接从编辑器运行应用程序。 您不需要担心技术方面的问题，因为 IntelliJ IDEA 会在后台自动完成所有必要的准备工作。

Procedure:

* 点击中间的   运行   图标并选择   运行 'MainKt'   或按 `Ctrl+Shift+F10` (Windows), `⌃ ⇧ R` (macOS), `⌃ ⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ R` (macOS System Shortcuts), `Ctrl+Shift+F10` (XWin), `Ctrl+Shift+F10` (GNOME), `Ctrl+Shift+F10` (KDE), `Ctrl+Shift+F10` (Emacs), `Ctrl+Shift+F10` (Sublime Text), `Ctrl+Shift+F10` (Sublime Text (macOS)), `Ctrl+Alt+F5` (Visual Studio), `⌃ ⌥ F5` (Visual Studio (macOS)), `Alt+Shift+F6` (NetBeans), `Ctrl+Shift+F10` (Eclipse), `⌃ ⇧ R` (Eclipse (macOS))。

![菜单中的 Run 选项](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_run_1.png)

当程序启动时，会打开   运行   工具窗口，您可以在其中查看输出并与程序交互。

![程序在 Console 选项卡中的输出](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_run_2.png)

## 打包为 JAR

至此，您已经知道如何编写代码并从 IntelliJ IDEA 运行它，这在开发过程中是很方便的。 但是，这并不是用户应该运行应用程序的方式。 为了使用户能够在他们的计算机上运行，我们将构建并打包该应用程序为 jar 文件。

> **Tip:**
> JAR 是一种用于将应用程序分发为单个文件的文件格式。

构建该应用程序包括以下步骤：

* 编译源代码——在此步骤中，您将刚写的代码翻译成JVM字节码。 编译后的源文件具有 .class 扩展名。

* 为了使应用程序正常运行，我们需要提供其所依赖的库。 对于此项目，唯一需要的库是 Kotlin 运行时，但仍需包括在内。 否则，用户每次运行程序时都必须自己提供，这不是很方便。

编译过的源代码和依赖项都最终存储在生成的  `.jar` 文件中。 构建过程的结果如  `.jar` 文件称为  构件 。

> **Note:**
> 本文提供 Gradle 和 Kotlin DSL 的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 提供了 Gradle 和 Groovy 作为 DSL 的说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 本文提供 Maven 的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

> **Note:**
> 本文提供 IntelliJ 构建工具的操作说明。 若要了解使用其他构建工具实现相同目标的更多信息，请使用页面顶部的   构建工具   切换器。

Procedure:

1. 打开  `build.gradle.kts`   `build.gradle` 脚本。

![项目结构中的 Build Gradle 脚本](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_build_gradle.png)

![项目结构中的 Build Gradle 脚本](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_build_gradle_groovy.png)

> **Tip:**
> 构建脚本是告诉构建工具如何精确构建项目的文件。

> **Tip:**
> 构建脚本是告诉构建工具如何精确构建项目的文件。 它是用 Kotlin 编写的，就像您的程序的源代码一样。

2. 在构建脚本中，添加以下任务定义：

```KOTLIN
tasks.jar.configure {
    manifest {
        attributes(mapOf("Main-Class" to "org.example.MainKt"))
    }
    configurations["compileClasspath"].forEach { file: File ->
        from(zipTree(file.absoluteFile))
    }
    duplicatesStrategy = DuplicatesStrategy.INCLUDE
}

```

```GROOVY
tasks.jar {
    manifest {
        attributes 'Main-Class': 'org.example.MainKt'
    }
    from {
        configurations.runtimeClasspath.collect { file ->
            file.isDirectory() ? file : zipTree(file)
        }
    }
}

```

`manifest`  部分指定了程序的入口点。 当您将  `"Main-Class"`  设置为  `"org.example.MainKt"`  时，您是在告诉 JAR 文件  `"org.example.MainKt"`  是入口点，表明  `MainKt`  类位于  `org.example`  包中。 这是使 JAR 文件可执行所必需的。

其余代码告诉构建工具递归扫描项目中的依赖项并将其包含在构建中。

3. 当定义被添加到构建文件时，请按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS)) 或点击 ![重新导入所有项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.refresh.svg) 在   Gradle   工具窗口中导入这些更改。

4. 在右侧边栏中，打开   Gradle  并运行  `jar` 任务(  `任务 | build | jar` )。 如果侧边栏不存在，请转到主菜单中的  `视图 | 外观` 并切换   工具窗口栏  菜单选项。

![Kotlin 教程 Gradle Jar](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_gradle_jar.png)

生成的 JAR 出现在  `build/libs`  目录中。

![Project 工具窗口视图中 out 目录内生成的 JAR](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_tutorial_gradle_jar_2.png)

Procedure:

1. 在主菜单中，前往  `文件 | 项目结构`  `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))并打开   构件  选项卡。

2. 点击   添加   ![加号图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)，然后   JAR  ，然后   从带有依赖项的模块  。

![在项目结构对话框中添加新构件](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_jar_1.png)

3. 在   主类  字段中，点击   浏览  按钮，并选择  `Main.kt` 作为主类。

![选择主类对话框](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_jar_2.png)

4. 请指定绝对路径  `/src/main/resources`  作为清单目录，例如：  `/Users/jetbrains/IdeaProjects/greeting/src/main/resources` 。

点击   OK  在   从模块创建 JAR  对话框。

![从模块创建 JAR 对话框](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_jar_2_5_maven.png)

![从模块创建 JAR 对话框](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_jar_2_5.png)

5. 点击   OK  在   项目结构  对话框。

6. 在主菜单中，前往  `构建 | 构建制品` ，然后点击   构建  。

生成的 JAR 出现在  `out`  目录中。

![在 Project 工具窗口中查看 out 目录中的生成 JAR](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_jar_4.png)

![Project 工具窗口视图中 out 目录内生成的 JAR](https://resources.jetbrains.com.cn/help/img/idea/2026.3/kotlin_create_first_app_maven_4.png)

## 运行 JAR

Procedure: 从 IntelliJ IDEA 运行

* 在   项目  工具窗口中，右键点击  `.jar` 文件并选择   运行  。

这是从 IntelliJ IDEA 运行  `.jar`  文件的快捷方式。

Procedure: 从 CLI 运行

* 打开终端，然后从包含文件夹运行：

`java -jar greeting.jar`   `java -jar greeting.jar`   `java -jar greeting-1.0-SNAPSHOT.jar`

这是应用程序用户运行它的方式。

> **Note:**
> 请确保使用与项目中配置的 JVM 目标兼容的 Java 运行时。

