Kotlinスクリプトでの依存関係管理!@file:DependsOnの使い方を初心者向けに徹底解説
生徒
「Kotlinでスクリプトを書いているときに、外部のライブラリを使いたいことってありますよね?」
先生
「ありますね。例えばJSONを処理するライブラリやHTTP通信をするライブラリなどです。通常はGradleなどのビルドツールで依存関係を管理します。」
生徒
「でもKotlinスクリプトの場合はGradleを使わないですよね?」
先生
「その通りです。Kotlinスクリプトでは、@file:DependsOnという仕組みを使うことで、簡単にライブラリを追加できます。」
生徒
「ファイルの中に書くだけでライブラリが使えるんですか?」
先生
「そうです。とてもシンプルなので、CLIツールや簡単なスクリプトを作るときに便利です。これから詳しく見ていきましょう。」
1. Kotlinスクリプトとは何か
Kotlinスクリプトとは、Kotlinで作る簡単なプログラム実行ファイルのことです。通常のKotlinプログラムではGradleなどのビルドツールを使ってプロジェクトを作成しますが、スクリプトではそのような準備をしなくてもプログラムを書くことができます。
スクリプトは主に拡張子.ktsのファイルとして作成します。例えば、簡単なメッセージを表示するスクリプトは次のように書きます。
println("Kotlinスクリプトのサンプルです")
このように、main関数を書かなくても実行できるのが特徴です。シェルスクリプトやバッチファイルのように、簡単な自動処理やツールを作るときに便利です。
CLIツールという言葉もよく登場します。CLIとはコマンドラインインターフェースの略で、キーボードでコマンドを入力して操作するプログラムのことです。Kotlinスクリプトは、このCLIツールの開発にもよく使われます。
2. 依存関係とは何か
プログラムを書くとき、自分で全ての機能を作る必要はありません。すでに誰かが作った便利なプログラム部品を利用することができます。このような部品をライブラリと呼びます。
例えば次のような処理は、ライブラリを使うと簡単に実現できます。
- JSONデータの読み込み
- HTTP通信
- CSVファイルの解析
- 日付処理
このような外部ライブラリをプログラムで利用する関係のことを依存関係と呼びます。つまり、自分のプログラムが他のライブラリに依存しているという意味です。
通常のKotlinプロジェクトではGradleというビルドツールを使って依存関係を設定します。しかしKotlinスクリプトでは、もっと簡単な方法が用意されています。それが@file:DependsOnです。
3. @file:DependsOnとは
@file:DependsOnは、Kotlinスクリプトのファイルの先頭に書く特別な設定です。この設定を書くことで、外部ライブラリを自動でダウンロードして利用できるようになります。
例えば、JSON処理ライブラリを使う場合は次のように書きます。
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
println("ライブラリを利用する準備ができました")
この一行を書くことで、指定したライブラリが自動的に取得されます。
ここで書かれている文字列は、ライブラリの座標と呼ばれる情報です。これは次の三つの情報で構成されています。
- グループ名
- ライブラリ名
- バージョン番号
つまり、インターネット上のライブラリ倉庫から、そのライブラリを自動で取得する仕組みになっています。
4. JSONライブラリを使う例
それでは実際にライブラリを使ってみましょう。ここではJSONを扱うライブラリを使います。
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
val text = """{"name":"Taro","age":20}"""
val obj = Json.parseToJsonElement(text)
println(obj.jsonObject["name"]?.jsonPrimitive?.content)
このプログラムではJSON文字列を解析して、nameの値を取り出しています。
もし@file:DependsOnを書かなければ、このライブラリは使えません。つまり、スクリプトでライブラリを利用するための重要な設定なのです。
5. HTTP通信ライブラリを追加する
Kotlinスクリプトでは、インターネット通信を行うツールも簡単に作れます。例えばHTTP通信ライブラリを追加することもできます。
@file:DependsOn("com.squareup.okhttp3:okhttp:4.12.0")
import okhttp3.OkHttpClient
import okhttp3.Request
val client = OkHttpClient()
val request = Request.Builder()
.url("https://example.com")
.build()
val response = client.newCall(request).execute()
println(response.code)
このプログラムはWebサイトへアクセスして、HTTPレスポンスコードを表示します。CLIツールとしてAPI確認ツールなどを作るときにも役立ちます。
6. 複数のライブラリを指定する方法
Kotlinスクリプトでは、複数のライブラリを同時に使うこともできます。その場合は@file:DependsOnを複数行書くだけです。
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
@file:DependsOn("com.squareup.okhttp3:okhttp:4.12.0")
println("複数のライブラリを読み込みました")
このように書くことで、JSONライブラリとHTTP通信ライブラリの両方が利用できるようになります。
CLIツールを作るときには、ログ出力ライブラリやデータ処理ライブラリなど、複数の依存関係を追加することもよくあります。
7. Kotlinスクリプトで依存関係管理を使うメリット
@file:DependsOnを使うことで、Kotlinスクリプト開発には多くのメリットがあります。
- Gradleプロジェクトを作らなくてもよい
- スクリプト一つでツールが完成する
- 外部ライブラリを簡単に利用できる
- CLIツール開発が素早くできる
特に小さな自動処理ツールや開発補助ツールを作るときには、プロジェクトを作成するよりもスクリプトの方が効率的です。
例えば次のような用途があります。
- ログ解析ツール
- API確認ツール
- ファイル変換ツール
- データ集計スクリプト
このようにKotlinスクリプトと依存関係管理を組み合わせることで、強力なCLIツールを短時間で作ることができます。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
まとめ
Kotlinスクリプトと依存関係管理の基本を振り返る
ここまで、Kotlinスクリプトで外部ライブラリを利用する方法として、Kotlinスクリプト依存関係管理の重要な仕組みである
@file:DependsOnの使い方について詳しく学んできました。
Kotlinスクリプトは通常のKotlinプロジェクトとは違い、Gradleなどのビルドツールを用意しなくても
簡単にプログラムを作成して実行できる点が大きな特徴です。
拡張子ktsのファイルを作成して処理を書くだけでプログラムが実行できるため、
小さな自動処理ツールやコマンドラインツールの作成に非常に向いています。
しかし実際の開発では、文字列処理だけでなくJSON解析やHTTP通信、CSV処理、ログ解析など 様々な機能が必要になります。そのような場合に役立つのが外部ライブラリです。 外部ライブラリとは、すでに誰かが作成した便利な機能をまとめたプログラム部品のことです。 Kotlinではこれらのライブラリを依存関係として追加することで、 自分で複雑な処理を実装しなくても高度な機能を利用することができます。
通常のKotlinアプリケーションではGradleやMavenといったビルドツールを使って依存関係管理を行います。
しかしKotlinスクリプトではもっとシンプルな方法が用意されており、
それが@file:DependsOnです。
この仕組みを利用することで、スクリプトファイルの先頭にライブラリの座標を書くだけで
必要なライブラリが自動的にダウンロードされ、プログラムから利用できるようになります。
ライブラリ座標の書き方を理解する
Kotlinスクリプトで依存関係を追加するときには、ライブラリ座標と呼ばれる形式を使用します。 ライブラリ座標は主に三つの情報で構成されています。 グループ名、ライブラリ名、バージョン番号です。 これらの情報を正しく指定することで、インターネット上のリポジトリからライブラリを取得することができます。
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
println("依存関係を追加しました")
このようにファイルの先頭に記述するだけで、JSON処理ライブラリなどを簡単に利用できます。 Kotlinスクリプト依存関係管理の大きなメリットは、 プロジェクト構成を作らなくてもスクリプト単体で完結することです。 つまり一つのスクリプトファイルだけで、ライブラリ利用、処理実行、ツール化まで実現できるのです。
複数ライブラリを組み合わせたスクリプト開発
実際の開発では、JSON処理だけでなくHTTP通信やログ処理など複数の機能を組み合わせることが多くあります。
Kotlinスクリプトではそのような場合でも簡単に依存関係を追加できます。
追加したいライブラリごとに@file:DependsOnを記述するだけでよいのです。
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
@file:DependsOn("com.squareup.okhttp3:okhttp:4.12.0")
println("JSON処理とHTTP通信のライブラリを読み込みました")
このように複数の依存関係を追加することで、データ取得ツールやAPI確認ツール、 ログ解析ツールなど様々なCLIツールをKotlinスクリプトだけで作成できます。 Kotlinスクリプトと依存関係管理を組み合わせることで、 小さなツール開発や自動化処理の生産性が大きく向上します。
CLIツール開発で活躍するKotlinスクリプト
Kotlinスクリプトはコマンドラインツール開発との相性が非常によいという特徴があります。 例えば次のような用途で活用することができます。
- ログ解析ツール
- APIレスポンス確認ツール
- JSON変換ツール
- ファイル変換スクリプト
- データ集計スクリプト
Kotlinスクリプト依存関係管理を理解しておくと、 こうしたツールを短時間で作成できるようになります。 特に開発者向けの補助ツールや自動化スクリプトを作る場面では、 Kotlinスクリプトと外部ライブラリの組み合わせが非常に強力です。
Kotlinスクリプトの基本と依存関係追加方法を理解しておけば、 Kotlinを使ったCLIツール開発や自動化スクリプト作成の幅が大きく広がります。 今後はHTTP通信、JSON解析、ファイル処理などのライブラリを組み合わせて、 実用的なKotlinスクリプトツールを作ってみると理解がさらに深まるでしょう。
生徒
Kotlinスクリプトでライブラリを使う方法がよく分かりました。 Gradleプロジェクトを作らなくても依存関係を追加できるのはとても便利ですね。
先生
その通りです。Kotlinスクリプトでは@file:DependsOnを書くことで、
必要なライブラリを簡単に追加できます。
これがKotlinスクリプト依存関係管理の大きなポイントです。
生徒
ライブラリ座標の書き方も理解できました。 グループ名とライブラリ名とバージョン番号を書くんですよね。
先生
そうです。その三つの情報を指定することで、 Mavenリポジトリなどから自動的にライブラリが取得されます。
生徒
JSONライブラリやHTTP通信ライブラリもスクリプトから簡単に使えるので、 CLIツールを作るのに便利そうですね。
先生
まさにその用途でよく使われます。 Kotlinスクリプトと依存関係管理を組み合わせれば、 API確認ツールやログ解析ツールなどを素早く作ることができます。
生徒
Kotlinスクリプトでツールを作るときには、
まず@file:DependsOnを思い出すようにします。
先生
とてもよい心掛けです。 Kotlinスクリプトと依存関係管理を使いこなせるようになると、 KotlinによるCLIツール開発の効率が大きく向上します。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験