작업: CodeGym의 그래픽 엔진을 통해 JavaFX 게임으로 실행 가능한 JAR 파일을 만들어야 합니다.

이를 위해서는 다음이 필요합니다.

  1. 저장소 https://github.com/CodeGymCC/project-maven 에서 포크
  2. 프로젝트 버전을 컴퓨터에 다운로드합니다. 다음으로 pom.xml 파일 로 작업합니다 .
  3. 종속성을 추가합니다.
    • 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 (범위 테스트 포함)
  4. 다음에 대한 플러그인 추가:
    • 종속성 com.codegym: desktop-game-engine:1.0을 lib 라이브러리에서 로컬 리포지토리로 설치(도움이 필요한 경우 Google)
    • maven -compiler-plugin 플러그인을 변경하지 않고 그대로 둡니다.
    • 모든 종속성(컴파일 범위 포함)을 수집하고 빌드하는 동안 일부 디렉토리에 추가하는 플러그인
    • 게임 코드와 종속성을 포함하는 jar 파일을 만드는 maven-jar-plugin 플러그인 . 이 플러그인에서는 섹션을 포함하도록 MANIFEST.MF 파일 을 구성해야 합니다 Class-Path.Main-ClassRsrc-Main-Class
    • Class-Path모든 JAR 종속성은 .
    • JAR 파일의 클래스 경로를 사용할 수 있고 JavaFX 애플리케이션을 시작할 수도 있는 클래스 Main-Class를 작성해야 합니다 .org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
    • Rsrc-Main-Class게임의 시작 클래스(com.codegym.games.racer.RacerGame)가 등록되어 있어야 합니다 .
  5. maven-surefire-plugin 에서 빌드 시 StrangeTest 테스트가 실행되지 않도록 구성합니다 . 나머지 테스트는 실행되어야 합니다.
  6. maven-jar-plugin이 lib/ 폴더 의 JAR 파일 내부에 넣을 수 있도록 빌드된 JAR 종속성이 리소스라고 말하는 "resources" 섹션을 추가합니다 .
  7. GitHub 리포지토리에 변경 사항을 업로드하고 링크를 교사에게 보냅니다.

유용한:

  1. 빌드는 mvn clean install 명령으로 실행해야 합니다 .
  2. 볼 목적으로 (Maven을 통해) 게임을 실행하는 것은 mvn javafx:run 명령으로 수행할 수 있습니다.
  3. 일부 플러그인은 phase 를 재정의해야 합니다 .
  4. 이 프로젝트는 JDK 버전 18.0.1을 사용합니다. 컴퓨터에 다운로드해야 합니다.
  5. Maven을 통해 빌드할 때 처음에는 오류가 발생합니다. 주의 깊게 읽으면 삶이 단순해질 것입니다.
  6. org.eclipse.jdt.internal.jarinjarloader 패키지 에서 아무 것도 변경하지 마십시오 . 여기에는 JavaFX 응용 프로그램을 시작하도록 기본 메서드의 시작이 변경된 사용자 지정 로더 클래스(정직하게 StackOverflow에서 복사됨)가 있습니다. 교육 목적으로만 사용하십시오.
  7. 모든 포인트를 완료하면 어셈블리 결과로 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"
  8. 결과적으로 다음을 볼 수 있습니다.
  9. 빌드는 운영 체제에 따라 다릅니다. 즉, JAR 파일이 Windows에서 빌드되면 Java18이 있는 모든 Windows 컴퓨터에서 실행할 수 있습니다. Mac과 Linux에서는 불가능합니다.


프로젝트 분석 . 완성 후 시청!