Kotlin: Kotlin開発環境の構築と初期設定

最終更新:2026-08-26

JDKからGradleへ、kotlinc REPLからIntelliJ IDEAへ――5分でKotlinの開発環境をセットアップし、AliceのOrderProcessorプロジェクトを動作させましょう。

1. 学習内容


2. 新参者の実体験

(1) 課題:環境設定が迷路のように複雑に感じられる

Aliceはチームに新しく加わった開発者です。初日の課題は、OrderProcessorの開発環境をセットアップすることでした。彼女は3時間もの間、JDKのバージョンやGradleの設定、IDEのプラグインと格闘しましたが、結局「Hello World」を1行も実行できませんでした。

(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の基本サポート 個人学習者
フリート プレビュー 次世代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) ビルド.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 ./gradlew run 本番環境向けプロジェクトの標準
IDE 緑の三角形をクリック 日常の開発とデバッグ
kotlinc kotlinc ... CLI パッケージング
REPL kotlinc 対話型 手軽に試せる

(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のクイックコマンド

コマンド 機能
:help ヘルプを表示
:quit REPLを終了
:history 入力履歴を表示
:dump 定義済みのクラスを表示

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 KotlinはJDK 8で動作しますか?
A はい。KotlinはJDK 8以降に対応していますが、パフォーマンスの向上や機能のサポートを最大限に活用するため、新規プロジェクトではJDK 17 LTSを使用することをお勧めします。
Q IntelliJ IDEA Community版で十分ですか?
A 純粋にKotlinやJVMを学ぶだけなら、十分です。ただし、Spring Bootの開発やKMPマルチプラットフォームの開発には、Ultimateエディションが必要です。
Q kotlinc コマンドが見つからない場合はどうすればよいですか?
A Kotlin コンパイラは IntelliJ IDEA に同梱されています。また、sdkman または brew を使用して個別にインストールすることもできます。
Q GradleのKotlin DSLとGroovy DSLの違いは何ですか?
A Kotlin DSLはビルドスクリプトにKotlinを使用しており、型ヒントやコンパイル時のチェック機能を提供します。Groovy DSLはより柔軟ですが、型の安全性に欠けます。新しいプロジェクトにはKotlin DSLの使用をお勧めします。
Q 実行時に「メインクラスが見つかりません」というエラーが出た場合はどうすればよいですか?
A build.gradle.kts 内の mainClass が正しいクラス名を指しているか確認してください(Kt の接尾辞に注意:MainMainKt)。

▶ サンプル: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. 中級 (⭐⭐)build.gradle.kts を変更して、kotlinx.coroutines の依存関係を追加してください。ヒント:implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
  3. 課題 (⭐⭐⭐)kotlinc を使用して、コマンドライン引数を読み取り、注文の概要を出力するスクリプトを作成してください。ヒント:args は CLI 引数を指定し、kotlinc -script は実行します。

← 前へ | 次へ →

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%