言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Kotlin辞典

  1. トップページ
  2. Kotlin辞典
  3. 【環境構築】Kotlinの開発環境

【環境構築】Kotlinの開発環境

Kotlin でプログラムを書いて実行するための環境構築手順を説明します。
KotlinはJVM(Java仮想マシン)上で動く独立した言語で、コンパイル後はJava と同じバイトコードになるのでJVM が必要ですが、文法や機能はJavaとは別物となります。そういった理由から、Kotlinの実行環境にはまずJDK のインストールが必要です。

JDK のインストール

JDK(Java Development Kit)は、Java 言語を動かすための道具セットです。中身としては、コンパイラ(javac)、標準ライブラリ、実行環境の JRE(Java Runtime Environment)、そして JVM(Java 仮想マシン)がまとめて含まれています。

この JVM は Java 言語だけではなく、Kotlin や Scala、Groovy といった JVM 上で動く他の言語でも使われます。そのため、Kotlin のセットアップでもまずは JDK のインストールから始めるのが定番となっています。

ちなみに、Java 8 までは JDK(開発用)と JRE(実行用)が別々に配布されていましたが、Java 9 以降は JRE の単体配布が廃止されました。そのため現在は、JDK を1つインストールすれば全て揃う形になっています。

簡易的な一連の手順は以下を確認してください。

OSインストール方法
macOSHomebrew で『brew install openjdk』を実行します。Homebrew はmacOS用のパッケージマネージャです。インストールされていない場合は公式サイト(https://brew.sh/)の手順に従ってインストールしてください。または Adoptium からインストーラーをダウンロードします。
WindowsAdoptium(旧AdoptOpenJDK)からインストーラーをダウンロードして実行します。インストール完了後、PC を再起動してください。

macOS

Homebrewでのインストール方法を解説します。Homebrewインストール後、以下のコマンドを叩きます。

brew install openjdk

macOS で Homebrew を使った場合、インストール完了後に必ず以下のコマンドを実行してください。Homebrew の openjdk は自動で PATH に追加されないため、この手順が必要です。

sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

次に、PATH を設定します。使用しているシェルに合わせてどちらかを実行してください(macOS の標準は zsh です)。現在のシェルが分からない方は『$ echo $SHELL』を叩いてみて下さい、現在のシェルが確認できます。

zsh の場合:

echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

bash の場合:

echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

インストール後、ターミナルで以下を実行して確認します。

javac --version
javac 21.0.3

java --version
openjdk 21.0.3

両方のコマンドでバージョンが表示されれば JDK のインストールは完了です。

Windows

Adoptium(旧AdoptOpenJDK)からインストーラーをダウンロードします。

インストーラーをダブルクリックして以下の画像が表示されたら次へをクリックします。

「使用許諾契約書に同意します」にチェックを入れ、次へをクリックします。

以下はデフォルトの選択状態のままでOKです。特定のユーザーのみにインストールしたい場合は「Install jast for you xxx」にチェック入れて下さい。

以下もそのままで問題ありません。次へをクリックします。

「インストール」をクリックします。

以下の画面は「はい」をクリックしてください。

インストール中の画面が出てきた後、しばらく待って以下の画面が出ればOKです。そのまま完了をクリックしてください。

インストール後、Windows は PowerShell またはコマンドプロンプトで以下を実行して確認します。

javac --version
javac 21.0.3

java --version
openjdk 21.0.3

両方のコマンドでバージョンが表示されれば JDK のインストールは完了です。

Kotlin コンパイラのインストール

macOS

Homebrew でインストールできます。

brew install kotlin

インストール後、以下のコマンドで確認します。

kotlinc -version
info: kotlinc-jvm 2.3.20 (JRE 25.0.2)

バージョン情報が表示されれば Kotlin コンパイラのインストールは完了です。

Windows

Kotlin の GitHub リリースページを開き、最新バージョンの『kotlin-compiler-x.x.x.zip』をダウンロードします。少々分かりづらいのですが、「Assets」のプルダウンの中になります。

ダウンロードした ZIP ファイルを右クリックして『すべて展開』を選択し、任意のフォルダに展開します。以下はダウンロードフォルダに展開した場合で、その展開したフォルダの中に『kotlinc』というフォルダがあるのが確認できるかと思います。

ここで注意点なのですが、特に理由がなければCドライブの直下に先程の『kotlinc』をコピーしてください。環境変数 PATH にフォルダの場所を登録する必要があるため、『C:\kotlinc』のように浅い階層に置いた方が管理しやすくなります。ZIP 展開系のツールを C ドライブ直下に置くのは世界的に定番のパターンで、パスにスペースが入らない(『Program Files』だとトラブルの原因になることがある)、パスが短くて扱いやすい、といったメリットがあります。

次にそのまま『kotlinc』内部にある『bin』フォルダを開いておきます。上部のアドレスバーを後ほど PATH にコピーしますので、一旦エクスプローラーはこのままにしておいて下さい。

次に、展開したフォルダ内の『bin』フォルダを環境変数 PATH に追加します。『設定』→『システム』→『バージョン情報』→『システムの詳細設定』→『環境変数』を開きます。

そしたら以下の画面の『Path』をダブルクリック、もしくは『Path』を選択して『編集』をクリックします。

次に以下の画面の『新規』をクリックして先程エクスプローラーで開いていた展開先の bin フォルダのパス(例: 『C:\kotlin\kotlinc\bin』)を追加してください。エクスプローラーのアドレスバーからコピーすると楽です。

最終的に以下のような値が追加されていればOKです。

インストール後、PowerShell またはコマンドプロンプトで以下のコマンドを実行して確認します。

kotlinc -version
info: kotlinc-jvm 2.3.20 (JRE 25.0.2+10-LTS)

バージョン情報が表示されれば Kotlin コンパイラのインストールは完了です。

SDKMAN のインストール

プロジェクトごとに Kotlin のバージョンを切り替えたい場合は、SDKMAN が便利です。Node.js における nvm のように、複数バージョンのインストールや切り替え管理ができるようになります。

macOS

以下の3つのコマンドを順に実行します。

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install kotlin

1行目は SDKMAN 本体のインストールスクリプトをダウンロードして実行します(『$HOME/.sdkman/』配下に展開されます)。2行目は SDKMAN を現在のターミナルで使えるように読み込みます(新しく開いたターミナルでは自動で読み込まれるため、2回目以降は不要です)。3行目で SDKMAN 経由で Kotlin の最新安定版をインストールします。

3行目の実行後、『Done installing! Kotlin x.x.x』のような表示が出ればインストール完了です。

特定のバージョンをインストールして切り替えたい場合は、まず『sdk list kotlin』でインストール可能なバージョンの一覧を確認します。

sdk list kotlin

『sdk list kotlin』で出力されたバージョン一覧はページ送りで表示されます(内部で less コマンドが動いています)。スペースキーで次のページ、『q』キーで一覧(『sdk list kotlin』コマンド)を閉じることができます。

確認後、一覧から任意のバージョンを指定してインストールします。

sdk install kotlin 1.9.24

既にデフォルトバージョンが設定されている場合は『Do you want kotlin 1.9.24 to be set as default? (Y/n):』などと確認されます。デフォルトを変更する場合は『Y』、変更しない場合は『n』を入力してください。

インストールしたバージョンに切り替えるには『sdk use』または『sdk default』を使います。

sdk use kotlin 1.9.24

『sdk use』は現在のターミナルセッションでのみ有効な一時的な切り替えです。ターミナルを閉じると元のバージョンに戻ります。次回以降も同じバージョンを使いたい場合は『sdk default』を実行します。

sdk default kotlin 1.9.24

切り替え後、以下のコマンドでバージョンが変わっていることを確認します。

kotlinc -version

古いバージョンの Kotlin は、新しい JDK では動作しないことがあります。たとえば Kotlin 1.9.24 で JDK 25 を使おうとすると、以下のようにエラーになります。

kotlinc -version
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by org.fusesource.hawtjni.runtime.Library in an unnamed module
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

info: kotlinc-jvm 1.9.24 (JRE 25.0.2)
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by com.intellij.util.containers.ConcurrentLongObjectHashMap
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
exception: java.lang.IllegalArgumentException: 25.0.2
	at com.intellij.util.lang.JavaVersion.parse(JavaVersion.java:305)
	at com.intellij.util.lang.JavaVersion.current(JavaVersion.java:174)
	at org.jetbrains.kotlin.cli.jvm.modules.JavaVersionUtilsKt.isAtLeastJava9(javaVersionUtils.kt:11)
	(以下スタックトレース省略)

『java.lang.IllegalArgumentException: 25.0.2』がエラーの核心で、Kotlin 1.9 系の『JavaVersion.parse』が JDK 25 のバージョン表記を認識できないことを示しています。冒頭の WARNING 群も、JDK 21 以降で追加された制約(『restricted method』『sun.misc.Unsafe』の非推奨化)に Kotlin 1.9 系が対応しきれていないサインです。

このような場合は、SDKMAN で JDK のバージョンも管理してしまうと便利です。

ただ、残念なことに Kotlin 公式ドキュメントには、Kotlin バージョンと JDK サポート範囲をまとめた対応マトリクスが用意されていません。各バージョンの『What's new』や『Compatibility Guide』を個別に辿る必要があり、どの JDK を選べばよいかを一目で把握する手段が公式には提供されていないのが現状です。

そこで現実的な選択肢として、『LTS(Long-Term Support、長期サポート版)の JDK』のうち、使っている Kotlin バージョンのリリース時期に近いものを入れるというアプローチがあります。Kotlin は新しい JDK が出てもすぐには対応しないため、古めの LTS の方が広く動作確認されているからです。2026年4月時点では JDK 17(2021年リリース)と JDK 21(2023年リリース)が主要な LTS で、たとえば Kotlin 1.9 系(2023年リリース)なら JDK 21 が自然な選択肢です。

以下の手順で SDKMAN から JDK をインストールして切り替えます。まずはインストール可能な JDK の一覧を確認します(『sdk list kotlin』の出力時と同様に less で表示されます)。

sdk list java

一覧から任意のバージョンを指定してインストールし、切り替えます。以下は Adoptium(Temurin)の JDK 21 をインストールする例です。

sdk install java 21.0.3-tem
sdk use java 21.0.3-tem

『sdk use』は一時的な切り替えです。次回以降も同じ JDK を使いたい場合は『sdk default java 21.0.3-tem』を実行してください。

『SDKMAN requires Bash 4 or higher, but you are running Bash 3.2』のようなエラーが出た場合は、macOS のデフォルト Bash のバージョンが古いことが原因です。以下で Bash をアップグレードします。

brew install bash

アップグレード後、ターミナルを再起動してから SDKMAN のインストールコマンドを再度実行してください。

Windows(WSL 経由)

SDKMAN を Windows で使うには、WSL(Windows Subsystem for Linux)をインストールしてから、WSL のターミナル上で SDKMAN のインストールコマンドを実行します。以下に WSL のインストール手順を説明します。

PowerShell を右クリックして管理者として開きます。管理者権限の許可を求められたら『はい』をクリックしてください。

UACダイアログ — PowerShellの管理者権限を許可

以下のコマンドを実行します。

wsl --install

PowerShell で wsl --install を実行

WSL と Ubuntu のダウンロードが始まります。完了するまでしばらく待ちます。

wsl --install
Downloading: Windows Subsystem for Linux 2.6.3
Installing: Windows Subsystem for Linux 2.6.3
Windows Subsystem for Linux 2.6.3 has been installed.
The operation completed successfully.
Downloading: Ubuntu
Installing: Ubuntu
Distribution successfully installed. It can be launched via 'wsl.exe -d Ubuntu'
Launching Ubuntu...
Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account:

WSL と Ubuntu のダウンロード・インストール中

ダウンロードとインストールが完了すると、再起動を求められる場合があります。その場合は再起動してください。

再起動後、Ubuntu のセットアップが始まります。まずユーザー名を入力します。ユーザー名に『root』は使用できません(既にシステムで使用されているため)。任意の名前を入力してください。

Create a default Unix user account: root
fatal: The user 'root' already exists.
Failed to create user 'root'. Please choose a different name.
Create a default Unix user account: test

root は使用できないエラー

なお、『_user』のようにアンダースコアで始まる名前等もデフォルトでは使用できません(Ubuntu の NAME_REGEX 制約)。NAME_REGEX 制約違反のユーザー名をどうしても使いたい場合は、一度通常の名前でセットアップを完了した後、WSL を起動する必要があります。なのでまず仮のユーザーを作ってからWSLコマンドを叩き、Ubuntuの中で設定していく必要がありますので、一旦このままセットアップを進めて下さい。詳細は後述します。

次にパスワードを入力します。入力中は画面に何も表示されませんが、正常に入力されています。

New password:

パスワード入力画面

確認のためもう一度同じパスワードを入力してください。

Retype new password:

パスワード再入力画面

以下の画面が出たら WSL のセットアップは完了です。この状態で SDKMAN のインストールコマンドを実行できます。

passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

test@hostname:/mnt/c/WINDOWS/system32$

WSL セットアップ完了

PowerShell またはコマンドプロンプトで『wsl』と入力すると WSL のターミナル(Ubuntu)が起動します。

wsl

『wsl』コマンド入力後、「ユーザー名@Windowsのコンピューターやホスト名:/mnt/c/Windows/system32$」のような表記がされていればOKです。WSL のターミナル(Ubuntu)は問題なく起動しています。

PowerShell で wsl コマンドを実行して Ubuntu が起動した画面

また、スタートメニューから『Ubuntu』を検索して起動することもできます。実行させるとPowerShellが起動します。

スタートメニューで Ubuntu を検索

なお、『Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。』と表示された場合は、Ubuntu がインストールされていません。以下のコマンドで Ubuntu をインストールしてください。

wsl --install -d Ubuntu

インストール完了後、PC を再起動してから再度『wsl』を実行してください。無事Ubuntuが立ち上がればインストールは完了です。

ちなみにWSL のターミナルではコピー&ペーストの操作が通常と異なります。ターミナル上でテキストを選択した状態で右クリックするとクリップボードへコピーされ、テキストを選択していない状態で右クリックすると貼り付けられます。ターミナル以外からコピペしたい場合は、まず通常の手順のCtrl+C 等で対象をクリップボードにコピー、そのあとターミナル上で何もテキストを選択していない状態で右クリックをすればOKです。長いコマンドを入力する際に便利です。

WSL 内での Kotlin は SDKMAN が管理するため、先ほどの手順で Windows に手動インストールした Kotlin(『C:\kotlinc』等)とは別管理になります。Windows 側の Kotlin は PowerShell またはコマンドプロンプトで、WSL 側の Kotlin は WSL のターミナルで、それぞれ独立して使用します。

ではバージョン切替方法です。SDKMAN のインストールには『unzip』と『zip』が必要です。WSL の Ubuntu にはデフォルトでインストールされていないため、WSL 起動後に以下のコマンドでそれぞれをインストールします。

wsl

実行すると次のように出力されます。

sudo apt install unzip zip -y

WSL のターミナル上で以下のコマンドを順に実行します。

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install kotlin

『Done installing!』のような表示がされればインストールは完了です。

特定のバージョンをインストールして切り替えたい場合は、まず『sdk list kotlin』でインストール可能なバージョンの一覧を確認します。

sdk list kotlin

『sdk list kotlin』で出力されたバージョン一覧はページ送りで表示されます(内部で less コマンドが動いています)。スペースキーで次のページ、『q』キーで一覧(『sdk list kotlin』コマンド)を閉じることができます。

確認後、一覧から任意のバージョンを指定してインストールします。

sdk install kotlin 1.9.24

既にデフォルトバージョンが設定されている場合は『Do you want kotlin 1.9.24 to be set as default? (Y/n):』などと確認されます。デフォルトを変更する場合は『Y』、変更しない場合は『n』を入力してください。

インストールしたバージョンに切り替えるには『sdk use』または『sdk default』を使います。

sdk use kotlin 1.9.24

『sdk use』は現在のターミナルセッションでのみ有効な一時的な切り替えです。ターミナルを閉じると元のバージョンに戻ります。次回以降も同じバージョンを使いたい場合は『sdk default』を実行します。

sdk default kotlin 1.9.24

切り替え後、以下のコマンドでバージョンが変わっていることを確認します。

kotlinc -version

古いバージョンの Kotlin は、新しい JDK では動作しないことがあります。たとえば Kotlin 1.9.24 で JDK 25 を使おうとすると、以下のようにエラーになります。

kotlinc -version
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by org.fusesource.hawtjni.runtime.Library in an unnamed module
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

info: kotlinc-jvm 1.9.24 (JRE 25.0.2)
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by com.intellij.util.containers.ConcurrentLongObjectHashMap
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
exception: java.lang.IllegalArgumentException: 25.0.2
	at com.intellij.util.lang.JavaVersion.parse(JavaVersion.java:305)
	at com.intellij.util.lang.JavaVersion.current(JavaVersion.java:174)
	at org.jetbrains.kotlin.cli.jvm.modules.JavaVersionUtilsKt.isAtLeastJava9(javaVersionUtils.kt:11)
	(以下スタックトレース省略)

『java.lang.IllegalArgumentException: 25.0.2』がエラーの核心で、Kotlin 1.9 系の『JavaVersion.parse』が JDK 25 のバージョン表記を認識できないことを示しています。冒頭の WARNING 群も、JDK 21 以降で追加された制約(『restricted method』『sun.misc.Unsafe』の非推奨化)に Kotlin 1.9 系が対応しきれていないサインです。

このような場合は、SDKMAN で JDK のバージョンも管理してしまうと便利です。

ただ、残念なことに Kotlin 公式ドキュメントには、Kotlin バージョンと JDK サポート範囲をまとめた対応マトリクスが用意されていません。各バージョンの『What's new』や『Compatibility Guide』を個別に辿る必要があり、どの JDK を選べばよいかを一目で把握する手段が公式には提供されていないのが現状です。

そこで現実的な選択肢として、『LTS(Long-Term Support、長期サポート版)の JDK』のうち、使っている Kotlin バージョンのリリース時期に近いものを入れるというアプローチがあります。Kotlin は新しい JDK が出てもすぐには対応しないため、古めの LTS の方が広く動作確認されているからです。2026年4月時点では JDK 17(2021年リリース)と JDK 21(2023年リリース)が主要な LTS で、たとえば Kotlin 1.9 系(2023年リリース)なら JDK 21 が自然な選択肢です。

以下の手順で SDKMAN から JDK をインストールして切り替えます。まずはインストール可能な JDK の一覧を確認します(『sdk list kotlin』の出力時と同様に less で表示されます)。

sdk list java

一覧から任意のバージョンを指定してインストールし、切り替えます。以下は Adoptium(Temurin)の JDK 21 をインストールする例です。

sdk install java 21.0.3-tem
sdk use java 21.0.3-tem

『sdk use』は一時的な切り替えです。次回以降も同じ JDK を使いたい場合は『sdk default java 21.0.3-tem』を実行してください。

インストール後、以下のコマンドで確認します。

kotlinc -version
kotlinc-jvm 2.0.0 (JRE 21.0.3)

バージョンが表示されていればインストールはOKです。

もし『java: command not found』と表示される場合は、Windows 側にインストールした Kotlin(『C:\kotlinc\bin』等)が WSL 内で優先的に呼ばれてしまっている可能性があります。以下のコマンドでどちらの kotlinc が使われているか確認してください。

which kotlinc

『/mnt/c/〜』のようなパスが表示された場合は Windows 側の kotlinc が呼ばれています。SDKMAN の kotlinc を使うには、以下のコマンドで SDKMAN の初期化を再実行してください。

source "$HOME/.sdkman/bin/sdkman-init.sh"
which kotlinc

『/home/ユーザー名/.sdkman/〜』のようなパスが表示されれば、SDKMAN の kotlinc が正しく使われています。

NAME_REGEX 制約違反のユーザー名を使いたい場合

『_user』のようなUbuntu の NAME_REGEX 制約に違反する名前でのユーザー作成方法です。必要ない方は飛ばしてしまって問題ありません。まずwslコマンドを叩いてUbuntuを起動します。

wsl

起動後、以下のコマンドを叩きます。

sudo adduser --allow-bad-names _user

すると「New password」などと聞かれますが、先ほどと同じ手順でパスワードを設定してください。パスワードを設定した後、プロフィール情報(Full Name、Room Number 等)を聞かれますが、全て Enter で飛ばして問題ありません。最後に『Is the information correct? [Y/n]』と確認されるのでこちらは『Y』を入力します。「info: Adding user '_user' to group 'users'」のように表示されればユーザーの作成は完了です。

sudo adduser --allow-bad-names _user
info: Allowing use of questionable username.
info: Adding user '_user' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group '_user' (1001) ...
info: Adding new user '_user' (1001) with group '_user (1001)' ...
info: Creating home directory '/home/_user' ...
info: Copying files from '/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for _user
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
info: Adding new user '_user' to supplemental / extra groups 'users' ...
info: Adding user '_user' to group 'users' ...

そしたら作成したユーザーに sudo 権限を付与します。sudo 権限の付与は必須ではありませんが、これをしないと管理者権限が必要な『userdel』コマンド等が打てなくなりますのでsudo 権限を付与しておく方が無難です。

sudo usermod -aG sudo _user

セットアップ時に作成した一時的なユーザーを削除したい場合は、新しく作成したユーザーで WSL を起動してからsudo 付きで削除コマンドの『userdel』を実行します。パスワードを聞かれますが現在のユーザーのパスワードを入力し、『userdel』コマンドに『-r』オプションを付けることでホームディレクトリも一緒に削除されます。

wsl -u _user

実行すると次のように出力されます。

sudo userdel -r test
[sudo] password for _user:
userdel: test mail spool (/var/mail/test) not found

『userdel: test mail spool ... not found』という警告が表示されることがありますが、メール用のディレクトリが存在しないだけなので問題ありません。ユーザーの削除は正常に完了しています。

削除後、デフォルトユーザーが存在しなくなるため、『wsl』コマンドで起動すると root ユーザーでログインされます。デフォルトユーザーを新しく作成したユーザーに変更するには、PowerShell またはコマンドプロンプトで以下を実行します。

ubuntu config --default-user _user

設定後、『wsl』コマンドを叩いて、作成したユーザーでログインができていれば設定は完了です。

コンパイルと実行

1. ソースファイルを作成します

テキストエディタで『hello.kt』というファイルを作成し、以下の内容を書きます。

hello.kt
fun main() {
    println("Hello, Kiryu Kazuma!")
    println("待ってたでぇ~……桐生ちゃーん!!")
}

2. コンパイルします

kotlinc hello.kt -include-runtime -d hello.jar

『-include-runtime』は Kotlin のランタイムを JAR に含めるオプションです。これにより、Java だけで実行できる JAR ファイルが生成されます。コンパイルが成功すると『hello.jar』ファイルが生成されます(エラーがなければ何も表示されません)。

3. 実行します

java -jar hello.jar
Hello, Kiryu Kazuma!
待ってたでぇ~……桐生ちゃーん!!

『Hello, Kiryu Kazuma!』と『待ってたでぇ~……桐生ちゃーん!!』が表示されれば成功です。

Windows(PowerShell)での実行例

ここではダウンロードフォルダに『hello.kt』を保存した場合の例を紹介します。

『cd』はカレントディレクトリ(現在の作業フォルダ)を移動するコマンドです。『ls』はカレントディレクトリ内のファイル一覧を表示するコマンドです。

cd .\Downloads\
ls


    ディレクトリ: C:\Users\_root\Downloads


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2026/04/01     21:15            117 hello.kt

コンパイルして実行すると次のようになります。

kotlinc hello.kt -include-runtime -d hello.jar
java -jar hello.jar
Hello, Kiryu Kazuma!
待ってたでぇ~……桐生ちゃーん!!

Windows PowerShell で日本語が文字化けしたら

Windows の PowerShell で日本語を含む出力が『?????』や意図しない記号の羅列になることがあります。これはアプリが UTF-8 で出力したバイト列を、PowerShell のコンソール側が別のコードページ(437『OEM US』や 932『Shift-JIS』など)として解釈してしまうために起こります。Windows の言語設定が英語版のときに特に発生しやすく、『java -jar hello.jar』のような Kotlin/Java の実行結果でも同じ現象が出ます。

まず現在のコンソールのエンコーディングを確認します。

[Console]::OutputEncoding
chcp

[Console]::OutputEncoding』は PowerShell が出力を解釈する際の文字コード、『chcp』は Windows コンソール全体のコードページを返します。『CodePage 437』や『CodePage 932』のように UTF-8(65001)以外が表示されていると文字化けの原因になっている可能性が高いです。

現在のセッションだけで直す場合は、PowerShell で以下の2行を順に実行します。

$env:JAVA_TOOL_OPTIONS = "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8"
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()

1行目は Java が標準出力・標準エラーに書き込むときのエンコーディングを UTF-8 に強制します。『JAVA_TOOL_OPTIONS』は Java が起動時に自動で読み込む環境変数で、設定すると Java 実行時に『Picked up JAVA_TOOL_OPTIONS: ...』というメッセージが表示されます。2行目は PowerShell が受け取ったバイト列を UTF-8 として解釈するよう指定します。送信側(Java)と受信側(PowerShell)の両方を UTF-8 に揃えるのがポイントです。

この設定後、再度『java -jar hello.jar』を実行すると日本語が正しく表示されるようになります。ただしこの指定は PowerShell を閉じると消えるため、次回以降も自動で UTF-8 を使いたい場合は PowerShell の起動時プロファイルに追記しておきます。

if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
Add-Content $PROFILE '$env:JAVA_TOOL_OPTIONS = "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8"'
Add-Content $PROFILE '[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()'

$PROFILE』は PowerShell 起動時に自動で読み込まれるスクリプトファイルのパスを指す組み込み変数です。1行目でファイルが無ければ新規作成し、2〜3行目でエンコーディング設定を追記しています。PowerShell を一度閉じて開き直すと設定が自動で適用されます。

補足:chcp 65001』でコードページ自体を UTF-8 に切り替える方法もありますが、古いコマンドの互換性に影響することがあるため、PowerShell の出力側と Java の出力側だけを UTF-8 に揃えるのが安全です。

ファイルの書き方やコメントの記述方法については『.kt ファイルの作成と実行方法』を参照してください。

ブラウザで試す(Kotlin Playground)

環境構築なしで Kotlin を試したい場合は、Kotlin Playground が便利です。ブラウザ上でコードを入力して、そのまま実行結果を確認できます。

学習の初期段階では Playground で文法を試しながら覚え、本格的な開発を始める段階でローカル環境を構築するとスムーズです。

IDE(Integrated Development Environment — コード編集・実行・デバッグを1つにまとめた開発ツール)での開発

ツール概要
IntelliJ IDEAKotlin の開発元 JetBrains が提供する IDE です。Kotlin を最も快適に開発できます。Community 版は無料です。
Android StudioAndroid アプリ開発向けの IDE です。IntelliJ IDEA がベースで、Kotlin を標準サポートしています。
VSCode軽量なエディタです。Kotlin 拡張機能をインストールすると、シンタックスハイライトやコード補完が使えます。正式名は『Visual Studio Code』。

コマンドが見つからないとき

ターミナルで『kotlinc: command not found』と表示される場合は、PATH(パス)が通っていない可能性があります。以下の手順で確認・設定してください。

1. コマンドの場所を探します

コマンドの場所を確認します。

which kotlinc
which kotlin

見つからない場合、よくあるインストール先を確認します。

ls /opt/homebrew/bin/kotlinc
ls ~/.sdkman/candidates/kotlin/current/bin/kotlinc

2. 使用しているシェルを確認します

echo $SHELL

『/bin/zsh』と表示されたら『~/.zshrc』、『/bin/bash』と表示されたら『~/.bashrc』に設定を書きます。

3. PATH に追加します

コマンドの場所がわかったら、シェルの設定ファイルに PATH を追加します。

Homebrew でインストールした場合(macOS zsh):

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

SDKMAN でインストールした場合(macOS zsh):

echo 'export PATH="$HOME/.sdkman/candidates/kotlin/current/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Linux (bash) の場合:

echo 'export PATH="$HOME/.sdkman/candidates/kotlin/current/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

SDKMAN を使っている場合

SDKMAN でインストールした Kotlin が見つからない場合は、シェルの初期化設定が不足している可能性があります。以下が設定ファイルに含まれているか確認してください。

SDKMAN の初期化スクリプト:

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"

JDK の PATH も確認してください

Kotlin は JVM 上で動作するため、『java』コマンドも使えるようになっている必要があります。『java -version』でエラーが出る場合は、JDK の PATH も合わせて設定してください。

Windows の場合は「システムの詳細設定」→「環境変数」→「Path」に Kotlin と JDK の両方のパスを追加します。

Kotlin のアンインストール

Homebrew でインストールした場合:

brew uninstall kotlin

SDKMAN でインストールした場合:

sdk uninstall kotlin

Windows(JDK のアンインストール)

Windows で Adoptium(Temurin)JDK をアンインストールする手順です。

1. 『設定』→『アプリ』→『インストールされているアプリ』を開き、検索欄に『Adoptium』と入力します。Adoptium からインストールした JDK が一覧に表示されるので、アンインストールしたい JDK の右端にある『⋯』をクリックします。

設定アプリの『インストールされているアプリ』で Adoptium を検索した画面。JDKの右端にある『⋯』ボタンを赤矢印で指している

2. ドロップダウンメニューが表示されるので、『アンインストール』をクリックします。

『⋯』メニューが展開され、『変更』『アンインストール』の2項目が表示されている。『アンインストール』を赤矢印で指している

3. 『このアプリとその関連情報がアンインストールされます。』という確認ダイアログが表示されるので、『アンインストール』をクリックするとアンインストールが開始されます。

設定アプリの確認ダイアログで『このアプリとその関連情報がアンインストールされます。』と表示されている。『アンインストール』ボタンを赤矢印で指している

複数のバージョンをインストールしている場合は、同じ手順で他のバージョンも削除します。

Windows(Kotlin コンパイラのアンインストール)

Kotlin コンパイラは GUI インストーラー形式ではなく ZIP ファイルを展開する方式なので、手動でフォルダと環境変数 PATH を削除します。

1. エクスプローラーで Kotlin コンパイラを展開したフォルダ(例: 『C:\kotlinc』)を削除します。

2. 環境変数 PATH から該当するパスを削除します。『スタートメニュー』の検索欄で『環境変数』と入力して『システム環境変数の編集』を開き、『環境変数』ボタン→『システム環境変数』の『Path』を選んで『編集』、Kotlin のパスを選んで『削除』します。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。