Jeśli nigdy nie grałeś w Minecrafta, to tak działają mechanizmy programu uruchamiającego.Co jest potrzebne do uruchomienia zewnętrznych plików JAR, takich jak program uruchamiający Minecraft?
Użytkownik może pobrać plik JAR (lub plik JAR spakowany w plik EXE), który w ogóle nie zawiera kodu dla klienta Minecraft. Jest to uważane za program uruchamiający. Po uruchomieniu programu uruchamiającego wyświetla ekran logowania z wiadomościami itp. Następnie, po zalogowaniu, program uruchamiający uruchamia główny rdzeń Minecraft, minecraft.jar. Jeśli nie ma go w systemie, pobiera go. Program uruchamiający Minecraft nie potrzebuje żadnych zewnętrznych bibliotek Java do uruchomienia.
Jak to zrobić?
Obecnie próbuję replikować funkcjonalność, jednak gdy eksportuję jako działający JAR w Eclipse, kiedy próbuję go uruchomić, wypisuje "Nie można znaleźć głównej klasy launcher.jar. Program zostanie zakończony" (to jest na konsoli, chcę być w stanie kliknąć dwukrotnie JAR i mieć go uruchomić)
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();
Zrobiłem to, oto zawartość MANIFEST.MF z wyeksportowanego JAR-Manifest-Version: 1.0 C lass-Path:. Klasa główna: główna – liamzebedee
Prawdopodobnie masz klasę o nazwie 'Main.class' (bez pakietu) w tym JAR i ta klasa zawiera poprawnie sformatowaną funkcję' main'? –
Tak, rzeczywiście, rzeczywiście, – liamzebedee