{'@GetMapping':{'value':'/JarLauncherJar'},'//运行JarLauncher的jar包':'public String JarLauncherJar() throws MalformedURLException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {\n\n // 创建 URLClassLoader,并将当前 JAR 文件添加到类路径中\n URL jarFileUrl = new URL('file:E:/jetlinks/jar/gt06-gsp-java-1.0.1.jar');\n URLClassLoader classLoader = new URLClassLoader(new URL[]{jarFileUrl});\n Method addURLMethod = URLClassLoader.class.getDeclaredMethod('addURL', URL.class);\n addURLMethod.setAccessible(true);\n addURLMethod.invoke(classLoader, jarFileUrl);\n // 加载 JarLauncher 和 Launcher 类\n Class jarLauncherClass = classLoader.loadClass('org.springframework.boot.loader.JarLauncher');\n Class launcherClass = classLoader.loadClass('org.springframework.boot.loader.Launcher');\n\n // 获取 Launcher 类中 launch 方法\n Method launchMethod = launcherClass.getDeclaredMethod('launch', String[].class);\n String[] mainArgs = { 'arg1', 'arg2' }; // 根据需要提供命令行参数\n launchMethod.setAccessible(true);\n // 调用 launch 方法启动 JAR 文件\n launchMethod.invoke(jarLauncherClass.getDeclaredConstructor().newInstance(), (Object) mainArgs);\n //launchMethod.invoke(jarLauncherClass.getDeclaredConstructor().newInstance(), new Object[]{mainArgs});\n return null;\n}'}


原文地址: https://www.cveoy.top/t/topic/pqPP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录