gpt4 book ai didi

java - 使用 Kotlin 配置 Gradle

转载 作者:IT老高 更新时间:2023-10-28 13:30:17 25 4
gpt4 key购买 nike

我正在尝试将 kotlin 与 gradle 一起使用,但我无法使用 Intellij Idea 15 成功创建项目。

我用两个模块 hello-javahello-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 项目窗口中的项目结构

enter image description here

我尝试使用 Intellij 选项来配置带有 Kotlin 的模块(Tools->Kotlin->Configure project with Kotlin),但它给我的错误是“所有带有 kotlin 文件的模块都已配置”

帮助我stackoverflow,你是我唯一的帮助。

最佳答案

When running gradlew clean build all projects are compiled successfully, but when running java -jar hello-kotlin-1.0-SNAPSHOT.jar I get following error...

jar {
manifest {
attributes 'Main-Class': 'HelloKotlinKt'
}

from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

What is more, Intellij seems not to recognize src/main/kotlin directory as source directory (it's not marked in blue)...

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

可以找到文档和有用的资源 herethere .

关于java - 使用 Kotlin 配置 Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33738304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com