hfhbd
12/21/2022, 1:43 AMError occurred during initialization of VM
Failed setting boot class path.
and don't know, if I did make a mistake in Kotlin.hfhbd
12/21/2022, 1:44 AMfun main(vararg args: String) {
require(args.size == 3) { "Needs classpath + 2 parameters " }
memScoped {
val options = allocArray<JavaVMOption>(2)
options[0].optionString = "-Djava.class.path=${args[0]}".cstr.ptr
options[1].optionString = "-Djava.library.path=/Users/philipwedemann/Downloads/jniTest/build/classes/kotlin/jvm/main".cstr.ptr
val vmArgs = alloc<JavaVMInitArgs>()
vmArgs.version = JNI_VERSION_10
vmArgs.nOptions = 2
vmArgs.options = options
val env = alloc<JNIEnvVar>().ptr
val jvm = cValuesOf<JavaVMVar>()
val resultCreateJvm = memScoped {
JNI_CreateJavaVM(jvm, cValuesOf(env).ptr.reinterpret(), vmArgs.ptr)
}
require(resultCreateJvm == JNI_OK)
defer {
env.pointed.pointed!!.ExceptionDescribe!!(env)
jvm.ptr[0]!!.pointed.pointed!!.DestroyJavaVM!!(jvm.ptr[0])
}
And I call the kexe with this classpath: build/bin/macosArm64/debugExecutable/jniTest.kexe /Users/philipwedemann/Downloads/jniTest/build/classes/kotlin/jvm/main:/Users/philipwedemann/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.8.0-RC2/c7080e0e0c608235bf07d8542dd2b2589bbb8881/kotlin-stdlib-jdk8-1.8.0-RC2.jar:/Users/philipwedemann/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.8.0-RC2/bed3d73e81d474ba2119ae203bdd15e96d7cf0bc/kotlin-stdlib-jdk7-1.8.0-RC2.jar:/Users/philipwedemann/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.0-RC2/89303520e71f5a7eda0b21ce8a3bd9f0154921bb/kotlin-stdlib-1.8.0-RC2.jar:/Users/philipwedemann/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar Hello 2