LoginSignup
0
0

More than 5 years have passed since last update.

kotlin + SparkFrameWorkの環境構築

Posted at

概要

学習用に環境を作ってみたのでメモする

プロジェクト作成

IntelliJ IDEAを利用する。

IntelliJ IDEA起動

「Create New Project」を選択する。
step01.png

Gradleとkotlinの選択

左のメニューから「Gradle」を選択し、「Kotlin(java)」を選択して「Next」ボタンを押す。
step02.png

ArtifactId入力

とりあえず、hogeと入力して「Next」ボタンを押す。
step03.png

Gradle JVMの設定確認

問題なければ、そのまま「Next」ボタンを押す。
step04.png

プロジェクト名とインストール先の確認

問題なければ、そのまま「Finish」ボタンを押す。
step05.png

ファイル構成

下記のようなファイル構成になっているようです。

ファイル構成
├ .gradle
├ .idea
├ gradle
│  └ wrapper
│    ├ gradle-wrapper.jar
│    └ gradle-wrapper.properties
├ out
├ src
│  ├ main
│  │  ├ java
│  │  ├ kotlin               <- kotlinのコード
│  │  └ resources
│  └ test
├ build.gradle               <- gradleのbuild設定
├ gradlew
├ gradlew.bat
└ settings.gradle

spark-frameworkインストール

build.gradleの「dependencies」に下記を追記する。

build.gradle
...
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile 'com.sparkjava:spark-core:2.6.0'          <- ここ追加
}
...

このままでも起動できるが、下記のようなエラーが警告が表示される。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

どうやら、SLF4Jライブラリと依存関係のあるようなので、それも追加する。

SLF4Jインストール

build.gradleの「dependencies」に下記を追記する。

build.gradle
...
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile 'org.slf4j:slf4j-log4j12:1.7.21'          <- ここ追加
    compile 'com.sparkjava:spark-core:2.6.0'
}
...

プログラム設置

とりあえず、アクセスできうように下記コードを設置する。

./src/main/kotlin/main.kt
import spark.Spark.get

fun main(args: Array<String>) {
    get("/hello") { request, response ->
        "Hello, Kotlin"
    }
}

起動

「Run」メニューから「Run...」で「Main.kt」を選択して実行する。
step06.png
ブラウザで下記にアクセスして閲覧OK
step07.png

以上

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0