Se non hai mai giocato a Minecraft, questo è il modo in cui funziona la meccanica del launcher.Cosa è necessario per avviare file JAR esterni, come il launcher di Minecraft?
L'utente può scaricare un JAR (o un JAR impacchettato in un file EXE), che non ha assolutamente alcun codice per il client Minecraft. Questo è considerato il programma di avvio. All'avvio del programma di avvio, viene visualizzata una schermata di accesso con notizie, ecc. Quindi, dopo aver effettuato l'accesso, il programma di avvio esegue quindi il nucleo principale di Minecraft, minecraft.jar. Se non è presente nel sistema, lo scarica. Il launcher di Minecraft non ha bisogno di alcuna libreria Java esterna per essere eseguito.
Come funziona?
Attualmente sto cercando di replicare la funzionalità, tuttavia, quando esporto come JAR eseguibile in Eclipse, quando provo a lanciarlo, viene stampato "Impossibile trovare la classe principale launcher.jar. Il programma verrà chiuso" (questo è sulla console, voglio essere in grado di fare doppio clic sul JAR e lo hanno lanciare)
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();
Ho fatto questo, ecco i contenuti di MANIFEST.MF dal JAR esportato - Versione Manifesta: 1.0 C lass-Path:. Main-Class: Main – liamzebedee
Presumibilmente hai una classe chiamata 'Main.class' (senza pacchetto) in quel JAR e quella classe contiene una funzione' main' correttamente formattata? –
Sì, sì, – liamzebedee