#1 Kotlinで学ぶ環境構築の基本
Kotlinは、Javaと高い互換性を持ちながら、より簡潔に書けるように設計された言語です。Androidアプリ開発の公式言語としても採用されており、注目度の高い言語のひとつです。この記事では、Kotlinを学ぶための環境構築を、実際によくつまずくポイントやエラーメッセージへの対処も含めて、詳しく解説します。
KotlinはJVM上で動く言語
Kotlinのプログラムは、最終的に「JVM(Java Virtual Machine)」という仕組みの上で動きます。これはJavaと同じ仕組みで、Kotlinのコードは一度コンパイルされるとJavaと同じ形式の「バイトコード」に変換され、JVMがそれを実行します。そのため、Kotlinの環境構築を行うには、まずJavaのJDK(Java Development Kit)をインストールしておく必要があります。
JDKには複数の配布元(Oracle JDK、Eclipse Temurin、Amazon Correttoなど)がありますが、Kotlinの学習用途であれば、無償で使えるEclipse Temurinの最新のLTS(長期サポート)版を選んでおけば基本的に困りません。バージョンについて厳密なルールはありませんが、「よくわからない場合はLTS版の中で一番新しいもの」を選ぶという考え方で問題ないでしょう。
JAVA_HOME関連のエラーとその対処
Kotlinの環境構築でつまずく人が最も多いのが、JDKのインストール自体ではなく、その後の「パスの設定」です。KotlinのコンパイラはJDKの場所を環境変数JAVA_HOMEやPATHを通じて探しに行くため、ここが正しく設定されていないと、インストールが成功していてもエラーが出ます。代表的なものを挙げます。
'java' is not recognized as an internal or external command, operable program or batch file.(Windows)やjava: command not found(macOS/Linux)
これは、JDKをインストールしたものの、実行ファイルの場所がOSのPATH(コマンドを探す場所のリスト)に追加されていない場合に出ます。JDKのインストーラーで「PATHに追加する」オプションを見落とした場合によく起こります。インストーラーを使わず手動で展開した場合は特に発生しやすいので、インストール後は一度ターミナルを開き直してからjava -versionを試すとよいでしょう。JAVA_HOME is not set and no 'java' command could be found in your PATH
Gradle(Kotlinプロジェクトのビルドによく使われるツール)などが、環境変数JAVA_HOMEにJDKのインストール先フォルダを求めているのに、それが設定されていない場合に出ます。KotlinやAndroid開発のツールはjavaコマンドだけでなく、このJAVA_HOMEという変数そのものを直接参照することが多いため、両方を設定しておくと安心です。Unsupported major.minor version(数字が続くエラー)
これは「コンパイルした時のJavaのバージョン」と「実行しようとしているJavaのバージョン」が食い違っている場合に出ます。たとえば複数のJDKをインストールしていて、意図しない古いバージョンが優先的に使われているケースが典型です。java -versionで今使われているバージョンを確認し、必要であればPATHの順序を見直すことで解決します。
これらはどれも「Kotlinそのもの」のエラーではなく、土台となるJavaの設定に関するものです。最初は戸惑うかもしれませんが、一度仕組みを理解してしまえば、他のJVM言語(Scalaなど)を触るときにも役立つ知識になります。
Kotlinのインストール
JDKの準備ができたら、公式サイト(kotlinlang.org)の案内に従ってKotlinのコンパイラをインストールします。Windowsの場合はパッケージ管理ツール「Chocolatey」経由、macOSの場合は「Homebrew」経由でのインストールが手軽です。インストール後、次のコマンドで確認します。
kotlinc -version
ここでもよく見かけるのが'kotlinc' is not recognized as an internal or external commandというエラーです。原因はJavaのときと同じで、Kotlinのインストール先がPATHに通っていないことがほとんどです。ChocolateyやHomebrewなどのパッケージ管理ツール経由でインストールした場合は自動でPATHが通ることが多いですが、公式サイトからZIPファイルを手動でダウンロードして展開した場合は、自分でPATHに追加のフォルダを登録する作業が必要になります。「インストールしたはずなのに認識されない」ときは、まずこのPATHの設定を疑ってみてください。
また、初回起動時にコンパイラの読み込みに数秒〜十数秒かかることがありますが、これはKotlinコンパイラの仕組み上よくあることなので、フリーズしたと慌てず待ってみるとよいでしょう。
ファイルを実行してみる
拡張子`.kt`のファイルを用意し、次のコマンドでコンパイルします。
kotlinc ファイル名.kt -include-runtime -d app.jar
生成された`.jar`ファイルは、Javaと同じように実行できます。
java -jar app.jar
ここで-include-runtimeというオプションを忘れると、生成された.jarファイルを実行しようとした際に、Kotlinの標準ライブラリが見つからずにエラーになることがあります。「さっきはできたのに今回はエラーが出た」という場合、このオプションの付け忘れが原因であることも多いので、覚えておくと安心です。
IntelliJ IDEAという開発環境
Kotlinはコマンドラインだけでも動かせますが、「IntelliJ IDEA」という開発環境(IDE)を使うと、コード補完やエラーチェックが効くため学習効率が大きく上がります。無料の「Community版」でも十分にKotlinの学習に対応できます。IntelliJ IDEAはKotlinを開発したJetBrains社自身が作っているツールなので、相性の良さは折り紙付きです。
プロジェクト作成時によくあるつまずき
IntelliJ IDEAでの新規プロジェクト作成は難しくありませんが、初めてだと次のような点で手が止まりやすいです。
- 「No SDK」「Project SDK is not defined」という表示が出る
これは、IntelliJ IDEAがどのJDKを使えばよいか認識できていない状態です。プロジェクト作成画面やプロジェクト設定(Project Structure)の中で、先ほどインストールしたJDKのフォルダを手動で指定してあげる必要があります。IDEを新しく入れた直後は特に起こりやすい現象なので、焦らず「JDKの場所を教えてあげる」作業だと捉えてください。 - Gradleの同期(Sync)がいつまでも終わらない、または失敗する
IntelliJ IDEAでKotlinプロジェクトを作ると、裏側で「Gradle」というビルドツールが必要なファイルをダウンロードします。この初回ダウンロードに時間がかかったり、ネットワーク環境によっては失敗したりすることがあります。多くの場合は時間を置いて再実行(Reload)すれば解決しますが、社内ネットワークなどプロキシ環境下では追加設定が必要になることもあります。 - 「Kotlin not configured」という警告が出る
Javaのプロジェクトとして作成してしまった場合や、設定が不完全な場合に表示されます。IDEの警告に従って「Configure Kotlin」を選択すれば、多くの場合はワンクリックで解決します。
これらのエラーはどれも「初心者だから起きる」ものではなく、開発環境というもの自体が持つ複雑さから来るものです。エラーメッセージを読んで一つずつ対処していく経験そのものが、プログラミング学習の一部だと捉えると気持ちが楽になるかもしれません。
つまずきやすいポイント・よくある質問(FAQ)
Q. JavaとKotlinで、環境構築は何が違うのですか?
土台となるJDKが必要な点は完全に共通です。違うのは、その上に「Kotlinのコンパイラ」という追加の道具を一つ載せる点です。イメージとしては、Javaという共通の地盤の上に、Kotlin用の工具箱を追加で置くような感覚に近いです。実際、同じプロジェクトの中でJavaのファイルとKotlinのファイルを混在させることもでき、この互換性の高さがKotlinの大きな特徴のひとつになっています。
Q. Androidアプリ開発をするなら、この記事の手順でよいのですか?
Androidアプリ開発が最終目標であれば、同じくJetBrains社の技術をベースにした「Android Studio」を使うのが一般的です。とはいえ、両者はIntelliJ IDEAという共通の基盤を持つ兄弟のような関係にあるため、この記事で学んだJDKやKotlinの基本的な考え方は、そのままAndroid Studioでの開発にも活きてきます。まずはこの記事の内容でKotlinという言語そのものに慣れてから、Android開発に進むという順番でも決して遠回りにはなりません。
Q. エディタは何を使えばいいですか?
メモ帳のようなシンプルなテキストエディタでも`.kt`ファイルを書くこと自体は可能ですが、コード補完やエラーの事前チェックがないと学習初期はタイプミスなどで消耗しやすいため、多くの学習者にはIntelliJ IDEA(Community版で十分です)が向いていると言われています。軽量なエディタを好む方はVisual Studio CodeにKotlin用の拡張機能を入れる方法もあり、こちらも悪くない選択です。最終的には好みの部分も大きいので、まずはIntelliJ IDEAで慣れてみて、合わなければ他を試すくらいの気持ちで選んで問題ありません。
他の言語と比べたKotlinの環境構築の考え方
PythonやJavaScriptのように、インタプリタひとつをインストールすればすぐに動かせる言語と比べると、Kotlinの環境構築は「JDKという土台」と「Kotlinコンパイラという道具」の二段構えになっている分、最初の一歩がやや多く感じられるかもしれません。ただしこれは、KotlinがJavaという成熟したエコシステムの資産(豊富なライブラリや実行環境の安定性)をそのまま活用できるという設計上の選択の裏返しでもあります。同じくJVM上で動くJavaやScalaを学んだことがある人であれば、環境構築の勘所はほぼそのまま使い回せますし、逆にKotlinで慣れておけば、将来的に他のJVM言語に触れる際の理解もぐっと早まります。どの言語にもそれぞれの環境構築の思想があり、Kotlinの場合は「Javaの資産の上に立つ」という発想がその根っこにあると捉えると、全体像がつかみやすくなるはずです。
Kotlinならではの注意点
Kotlinは、Javaで書いたコードをほぼそのまま同じプロジェクト内で併用できるという珍しい特徴を持っています。「Javaの資産を活かしながら、新しい書き方も取り入れたい」というのがKotlin誕生の背景にあるため、Javaの経験がある人ほど、学習のとっかかりを見つけやすい言語です。逆にプログラミング自体が初めてという方でも、エラーメッセージの多くはJavaのエコシステム由来のものなので、この記事で紹介したような典型的なエラーパターンを一度押さえておけば、後々かなり読みやすくなるはずです。
まとめ
Kotlinの環境構築は、JDKを土台としてその上にコンパイラを追加するという流れになります。つまずきやすいのは言語そのものよりも、PATHやJAVA_HOMEといった環境変数まわりであることが多いので、エラーメッセージが出たら焦らず「土台であるJavaの設定は正しいか」を確認する癖をつけておくとよいでしょう。最初はIntelliJ IDEAを使い、補完機能に助けてもらいながら学習を進めるのがおすすめです。
本ページはプロモーションを含みます。
参考書籍(PR)
Kotlinをもっと学びたい方には「やさしいKotlin入門」がおすすめです。
コメント
コメントを投稿