Я пытаюсь использовать kotlin с gradle, но я не могу успешно создать проект с Intellij Idea 15.
Я создаю простой проект с двумя модулями hello-java
и hello-kotlin
.
hello-java
- простой Java-проект, и он отлично компилируется и работает.
hello-kotlin
является простым модулем kotin с одним файлом *.kt и build.gradle
.
Вот источники:
build.gradle
group 'pl.fzymek.kotlin'
version '1.0-SNAPSHOT'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.10.4"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = 'HelloKotlinKt'
repositories {
mavenCentral()
}
jar {
manifest {
attributes 'Main-Class': mainClassName
}
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:0.10.4"
}
HelloKotlin.kt
fun main(args: Array<String>) {
println("Hello, Kotlin!")
}
настройки главного модуля .gradle
include 'hello-java'
include 'hello-kotlin'
При запуске gradlew clean build
все проекты скомпилированы успешно, но при запуске java -jar hello-kotlin-1.0-SNAPSHOT.jar
появляется следующая ошибка:
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at HelloKotlinKt.main(HelloKotlin.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
Более того, Intellij, похоже, не распознает каталог src/main/kotlin
как исходный каталог (он не отмечен синим цветом), и я не могу использовать функцию автозаполнения при редактировании файла HelloKotlin.kt.
Здесь моя структура проекта в окне проекта Intellij
Я попытался использовать опцию Intellij для настройки модулей с помощью Kotlin (Tools->Kotlin->Configure project with Kotlin
), но это дает мне ошибку: "Все модули с файлами kotlin настроены"
Помогите мне в stackoverflow, ты моя единственная помощь.