I created a Kotlin project and Java class in it:
package text;
public class StringUtils {
public static void filter(boolean flag) {
System.out.println("Flag is " + flag);
}
}
Then I tried to call filter method from the Kotlin code:
val exists = true;
StringUtils.filter(exists)
I didn't see any errors in my Intellij IDE but in run-time I got an exception:
Exception in thread "main" java.lang.NoClassDefFoundError: text/StringUtils
at Person.printName(Person.kt:66)
at PersonKt.main(Person.kt:103)
at PersonKt.main(Person.kt)
Caused by: java.lang.ClassNotFoundException: text.StringUtils
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 3 more
You have to put all Java classes under src/main/java, instead of src/main/kotlin.
Just right click on main -> new -> directory -> select java (or type it).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With