当前位置: 首页 > 知识库问答 >
问题:

用Kotlin配置Gradle

江英华
2023-03-14

我试图使用kotlin与gradle,但我无法成功地创建一个项目与Intellij想法15。

我用两个模块hello-javahello-kotlin创建了一个简单项目。

hello-java是普通的java项目,编译和运行都非常好。

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"
}
fun main(args: Array<String>) {
    println("Hello, Kotlin!")
}
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项目窗口中的项目结构

共有1个答案

景才英
2023-03-14

当运行gradlew clean build时,所有项目都编译成功,但当运行java-jar hello-kotlin-1.0-snapshot.jar时,我会得到以下错误······

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

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

此外,Intellij似乎不承认src/main/kotlin目录是源目录(它没有用蓝色标记)...

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

文档和有用的资源可以在这里和那里找到。

 类似资料:
  • 使用Gradle 4.4.1和静态编程语言-DSL,我想在我的静态编程语言1.2.20项目中配置实验性的静态编程语言协程。这被证明是出奇困难的。 官方静态编程语言留档本身只提到Groovy DSL的Gradle,而不是静态编程语言。 Kotlin DSL项目有一个不起作用的协同路由示例。可能是针对较旧的Gradle版本(该脚本中的Kotlin版本为1.1.51,这本身就是可疑的)。 PS:甚至In

  • 我无法在android studio中配置Kotlin。获取错误错误:找不到方法com。Android建筑格拉德尔。内部的变种BaseVariantData。getOutputs()Ljava/util/List;'。

  • 嘿,我想在intellij idea插件中设置protobuf作为其他protobuf服务器(用golang编写)的客户端。这将是我对grpc的第一种java方法。我尝试使用kotlin无类生成器,但我的成功率甚至低于这种方法。 我的目标是:最佳案例场景:插件将允许将proto编译为kt文件非常好的案例场景:插件将输出java文件到src/main/proto 现有代码结构: 和Gradle ko

  • 如https://cloud . Google . com/app engine/docs/standard/Java/tools/Gradle-reference上所述,AppEngine Gradle插件提供如下配置: 使用 时,这样的配置应该是什么样子? 我正在查看AppEngine任务,但不明白如何将其连接到适当的Kotlin DSL设置。 编辑 当简单地将上述块添加到<code>buil

  • 本文向大家介绍AndroidStudio kotlin配置详细介绍,包括了AndroidStudio kotlin配置详细介绍的使用技巧和注意事项,需要的朋友参考一下 AndroidStudio kotlin配置 安装插件 File -> Settings -> Plugins -> Browse repositories -> 搜索 kotlin gradle添加依赖 Module的build.

  • 我的KMP Jetpack Compose项目中继续出现Gradle配置错误 配置项目:共享时出现问题。 找不到名为“testApi”的配置。 我的设置是: Android Studio北极狐狸2020.3.1金丝雀3 项目级别设置 注意:通过删除一部分一部分的配置,我似乎发现问题似乎是围绕着android配置本身,所以如果我删除android()部分 只要简单的jvm()就可以了