任務:您需要通過 CodeGym 的圖形引擎製作一個帶有 JavaFX 遊戲的可執行 JAR 文件。
為此你需要:
- 從存儲庫中分叉https://github.com/CodeGymCC/project-maven
- 將您的項目版本下載到您的計算機。接下來,我們將使用pom.xml文件。
- 添加依賴項:
- org.apache.commons:commons-lang3:3.12.0
- org.openjfx:javafx-controls:18.0.1
- com.codegym: desktop-game-engine:1.0(此依賴項將在單獨的帖子中介紹)
- org.junit.jupiter:junit-jupiter-engine:5.8.2(範圍測試)
- 添加插件:
- 將依賴項com.codegym: desktop-game-engine:1.0從 lib 庫安裝到本地存儲庫(谷歌尋求幫助);
- 保持maven-compiler-plugin 插件不變;
- 一個插件,它將收集所有依賴項(具有編譯範圍)並在構建期間將它們添加到某個目錄;
- maven -jar-plugin 插件,它將製作一個包含遊戲代碼和依賴項的 jar 文件。在此插件中,您需要配置MANIFEST.MF文件以包含部分:
Class-Path
,Main-Class
和Rsrc-Main-Class
Class-Path
我們所有的 JAR 依賴項都應該在.Main-Class
必須編寫一個類org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
,它可以使用 JAR 文件中的類路徑,並且還可以啟動 JavaFX 應用程序。- 必須在其中
Rsrc-Main-Class
註冊遊戲的起始類(com.codegym.games.racer.RacerGame) 。 - 在maven-surefire-plugin 中,進行配置,使StrangeTest測試不會在構建時運行。其餘的測試應該運行。
- 添加一個“資源”部分,說明構建的 JAR 依賴項是資源,以便maven-jar-plugin將它們放入lib/文件夾中的 JAR 文件中
- 將更改上傳到您的 GitHub 存儲庫,將指向它的鏈接發送給老師。
有用:
- 構建必須使用mvn clean install命令運行。
- 為了查看目的運行遊戲(通過 Maven)可以使用mvn javafx:run 命令完成。
- 一些插件需要覆蓋phase。
- 該項目使用 JDK 版本 18.0.1。它必須下載到您的計算機上。
- 通過Maven構建時,一開始會出現錯誤。仔細閱讀它們,您將簡化您的生活。
- 不要更改org.eclipse.jdt.internal.jarinjarloader包中的任何內容。它有一個自定義加載器類(老實說是從 StackOverflow 複製的),其中主要方法的啟動更改為啟動 JavaFX 應用程序。僅用於教育目的。
- 如果您完成所有要點,作為組裝的結果,您將收到一個 fat-JAR 文件。您可以使用以下命令啟動並檢查一切是否正確完成:
<way to java 18> -jar <the name of the resultant jar file> //Example "C:\Users\leo12\.jdks\openjdk-18.0.1.1\bin\java.exe" -jar "E:\temp\project-maven-1.0.jar"
- 結果你會看到:
- 構建取決於您的操作系統。也就是說,如果一個 JAR 文件是在 Windows 上構建的,那麼它可以在任何裝有 Java18 的 Windows 計算機上運行。而且在 Mac 和 Linux 上是做不到的。
項目分析。完成後觀看!
GO TO FULL VERSION