Si nunca jugaste Minecraft, entonces así es como funciona la mecánica del lanzador.¿Qué se necesita para iniciar archivos JAR externos, como el iniciador de Minecraft?
El usuario puede descargar un JAR (o un JAR empaquetado en un EXE), que no tiene absolutamente ningún código para el cliente de Minecraft. Esto se considera el lanzador. Cuando se inicia el iniciador, muestra una pantalla de inicio de sesión con noticias, etc. Luego, después de iniciar sesión, el iniciador ejecuta el núcleo principal de Minecraft, minecraft.jar. Si no está presente en el sistema, lo descarga. El iniciador de Minecraft tampoco necesita bibliotecas externas de Java para ejecutarse.
¿Cómo hace esto?
Actualmente estoy tratando de replicar la funcionalidad, sin embargo, cuando exporto como JAR ejecutable en Eclipse, cuando intento ejecutarlo, se imprime "No se pudo encontrar la clase principal launcher.jar. El programa saldrá" (esto está en la consola, yo quiero ser capaz de hacer doble clic en el archivo JAR y tienen que poner en marcha)
File file = new File(System.getProperty("user.dir") + "/lessur.jar");
System.setProperty("org.lwjgl.librarypath", System.getProperty("user.dir") + "natives");
URLClassLoader classLoader;
classLoader = URLClassLoader.newInstance(new URL[]{file.toURI().toURL()});
classLoader.loadClass("zombie.engine.Lighting2").newInstance();
He hecho esto, aquí está el contenido de MANIFEST.MF del JAR exportado - Manifest-Version: 1.0 C Lass-Path:. Main-Class: Main – liamzebedee
¿Presumiblemente tiene una clase llamada 'Main.class' (sin paquete) en ese JAR y esa clase contiene una función' main' correctamente formateada? –
Sí, realmente lo hago – liamzebedee