Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从gradle任务运行kotlin应用程序的正确方法_Gradle_Kotlin - Fatal编程技术网

从gradle任务运行kotlin应用程序的正确方法

从gradle任务运行kotlin应用程序的正确方法,gradle,kotlin,Gradle,Kotlin,我有简单的脚本 package com.lapots.game.journey.ims.example fun main(args: Array<String>) { println("Hello, world!") } 但当我试图运行taskgradlerunexample时,我得到了一个错误 错误:无法找到或加载主类com.lapots.game.journey.ims.example.example 运行应用程序的正确方法是什么?感谢@JaysonMinard提供

我有简单的脚本

package com.lapots.game.journey.ims.example


fun main(args: Array<String>) {
    println("Hello, world!")
}
但当我试图运行task
gradlerunexample
时,我得到了一个错误

错误:无法找到或加载主类com.lapots.game.journey.ims.example.example

运行应用程序的正确方法是什么?

感谢@JaysonMinard提供的链接 那
main

@file:JvmName("Example")

package com.lapots.game.journey.ims.example


fun main(args: Array<String>) {
    print("executable!")
}

玩了这个把戏

你也可以使用
gradle
应用程序插件

// example.kt
package com.lapots.game.journey.ims.example

fun main(args: Array<String>) {
    print("executable!")
}
然后按如下方式运行应用程序

./gradlew run

如果您使用的是Kotlin构建文件
build.gradle.kts
,则需要执行以下操作

apply {
    plugin("kotlin")
    plugin("application")
}    

configure<ApplicationPluginConvention> {
    mainClassName = "my.cool.App"
}

有关详细信息,请参见

我从@lapots答案中找到了另一种方法

在您的
示例.kt
中:

@文件:JvmName(“示例”)
打包您的.organization.example
趣味主线(字符串:数组){
println(“耶!我跑了!”)
}
然后在
build.gradle.kts
中:

插件{
kotlin(“jvm”)版本“1.3.72”
应用
}
应用{
mainClassName=“您的.organization.example.example”
}

用于
build.gradle.kts
用户

主文件:

package com.foo.game.journey.ims.example


fun main(args: Array<String>) {
    println("Hello, world!")
}

有一个关于使用Gradle应用程序插件运行Kotlin应用程序的部分:。。。或者,您是否需要将其作为一项任务以其他方式运行?但是这个答案也可以给你你需要的线索。对于和我有同样愚蠢问题的人:应该是
apply plugin:“application”
(注意这里的
),答案中似乎没有冒号。谢谢你的帖子,非常有用:)配置很好而且干净:)有没有一种方法可以获取android应用程序插件应用程序的runtimeClasspath?
./gradlew run
apply {
    plugin("kotlin")
    plugin("application")
}    

configure<ApplicationPluginConvention> {
    mainClassName = "my.cool.App"
}
plugins {
    application
}

application {
    mainClassName = "my.cool.App"
}
package com.foo.game.journey.ims.example


fun main(args: Array<String>) {
    println("Hello, world!")
}
plugins {
    application
    kotlin("jvm") version "1.3.72" // <-- your kotlin version here
}

application {
    mainClassName = "com.lapots.game.journey.ims.example.ExampleKt"
}

...
./gradlew run