如果你從未玩過Minecraft,那麼這就是發射器的工作原理。啓動外部JAR文件需要什麼,比如Minecraft啓動器?
用戶可以下載JAR(或打包成EXE的JAR),它完全沒有Minecraft客戶端的代碼。這被認爲是發射器。當啓動器啓動時,它會顯示帶有消息等的登錄屏幕。然後,登錄後,啓動器運行主要的Minecraft核心minecraft.jar。如果它不在系統上,它會下載它。 Minecraft啓動器不需要任何外部Java庫來運行。
它是如何做到這一點的?我試圖複製功能,但是,當我在Eclipse中導出爲可運行JAR時,當我嘗試啓動它時,它打印出「找不到主類launcher.jar。程序將退出」(this是在控制檯上,我希望能夠雙擊JAR並將其推出)
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();
我已經這樣做了,這裏是MANIFEST.MF從導出的JAR中的內容 - Manifest-Version:1.0 C lass-path:。 Main-Class:Main – liamzebedee
假設你在該JAR中有一個名爲'Main.class'(沒有包)的類,並且該類包含格式正確的'main'函數? –
是的,我確實是 – liamzebedee