ValV
07/11/2019, 11:29 AMclass MyClass {
companion object {
public fun run(args: Array<String>) {
...
}
}
public fun main(args: Array<String>) {
...
}
}
How to call run from main?diesieben07
07/11/2019, 11:32 AMrun(args)ValV
07/11/2019, 11:43 AMdiesieben07
07/11/2019, 11:54 AMmain fun cannot be used as a JVM main method, those need to be static.Pavlo Liapota
07/11/2019, 11:58 AMmain should be a top level function and class name would be <filename> + Kt then.
Or you can put main into a companion object of a class, but then you also need annotate this function with @JvmStatic.ValV
07/11/2019, 12:02 PMValV
07/11/2019, 12:14 PMPavlo Liapota
07/11/2019, 12:22 PMValV
07/11/2019, 12:24 PMError: Could not find or load main class testline.ExampleKtValV
07/11/2019, 12:25 PMsrc/
βββ main
β βββ kotlin
β β βββ testline
β β βββ Example.kt
β βββ resources
βββ test
βββ kotlin
β βββ testline
β βββ ExampleTest.kt
βββ resourcesValV
07/11/2019, 12:27 PMapplication {
// Define the main class for the application.
mainClassName = "testline.ExampleKt"
}
tasks {
withType<Jar> {
manifest {
attributes(mapOf("Main-Class" to application.mainClassName))
}
}
}diesieben07
07/11/2019, 12:29 PMExample.kt?ValV
07/11/2019, 12:32 PMpackage testline
// imports
import java.io.IOException
...
class Example {
companion object {
@JvmStatic
public fun main(args: Array<String>) {
...
}
}
}
//fun main(args: Array<String>) {
// Example.main(args)
//}
// vim: se et ts=2 sw=2 number:diesieben07
07/11/2019, 12:34 PMcompanion object + @JvmStatic your main method will be in class Example, not ExampleKtValV
07/11/2019, 12:35 PMException in thread "main" java.lang.NoClassDefFoundError: org/jline/reader/UserInterruptException
at testline.Example.<clinit>(Example.kt)
Caused by: java.lang.ClassNotFoundException: org.jline.reader.UserInterruptException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 moreValV
07/11/2019, 12:35 PMValV
07/11/2019, 12:36 PMgradle run it worksValV
07/11/2019, 12:36 PMmainValV
07/11/2019, 12:36 PMValV
07/11/2019, 12:40 PMValV
07/11/2019, 12:40 PMThread() affects?