#include "mainwindow.h"
#include <QApplication>
#include <jni.h>
#include <iostream>
int main(int argc, char *argv[])
{
JavaVM *jvm;
JNIEnv *env;
JavaVMInitArgs vm_args;
JavaVMOption options[1];
// Specify the path to the JAR file
options[0].optionString = "-Djava.class.path=C:\\Users\\night\\AppData\\Roaming\\.minecraft\\versions\\1.21.11\\1.21.11.jar";
vm_args.version = JNI_VERSION_1_6; // JNI version
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = false;
// Create Java VM
jint ret = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
if (ret != JNI_OK) {
std::cout << "Unable to launch JVM" << std::endl;
//return EXIT_FAILURE;
}
else
{
// Call the Java main method to execute your program
jclass cls = env->FindClass("YourMainClass");
jmethodID mid = env->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V");
jobjectArray args = env->NewObjectArray(0, env->FindClass("java/lang/String"), NULL);
env->CallStaticVoidMethod(cls, mid, args);
// Destroy the JVM
jvm->DestroyJavaVM();
//return EXIT_SUCCESS;
}
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}17:38:16: Starting D:\untitled2\build\Desktop_Qt_6_10_2_MinGW_64_bit-Debug\debug\untitled2.exe...
Error occurred during initialization of VM
Failed setting boot class path.
17:38:22: Команда «D:\untitled2\build\Desktop_Qt_6_10_2_MinGW_64_bit-Debug\debug\untitled2.exe» завершилась с кодом 1. JNI_VERSION_1_8, а не JNI_VERSION_1_6.FindClass("YourMainClass") на FindClass("net/minecraft/server/Main")JNI_CreateJavaVM, но ошибкой может закончиться и любая другая операция, включая FindClass, поэтому надо добавить ещё проверок ошибок, чтобы не гадать, что произошло, над невнятным сообщением "Failed setting boot class path".CallStaticVoidMethod заблокируется до тех пор, пока сервер майнкрафта не будет остановлен, то есть окно Qt так и не будет отображено. Если оно вам нужно, придётся JVM запускать в QThread.