[카테고리:] 미분류

  • JavaFX 프로젝트 설정하고 실행하기: Maven 설치부터 첫 실행까지

    안녕하세요! 오늘은 JavaFX 프로젝트를 처음 실행하는 과정에서 겪은 문제들과 해결 방법을 공유하려고 합니다.

    문제 상황

    JavaFX 프로젝트를 실행하려고 mvn clean javafx:run 명령어를 입력했을 때, 처음 만난 에러는 다음과 같았습니다:

    zsh: command not found: mvn
    

    Maven이 시스템에 설치되어 있지 않았던 것이죠.

    해결 과정

    1. Maven 설치

    macOS에서는 Homebrew를 사용해서 쉽게 Maven을 설치할 수 있습니다:

    brew install maven
    

    설치가 완료되면 Maven 3.9.9 버전이 설치되었습니다.

    2. 빌드 에러 해결

    Maven 설치 후 다시 실행해보니, 이번엔 다른 에러가 발생했습니다:

    [ERROR] /Users/junhoha/IdeaProjects/intelliJavaFX/src/main/java/module-info.java:[11,24] module not found: eu.hansolo.tilesfx
    

    module-info.java에서 eu.hansolo.tilesfx 모듈을 요구하는데, 해당 의존성이 pom.xml에 없었습니다.

    3. 의존성 추가

    pom.xml에 다음 의존성을 추가했습니다:

    <dependency>
        <groupId>eu.hansolo</groupId>
        <artifactId>tilesfx</artifactId>
        <version>17.1.31</version>
    </dependency>
    

    4. 성공!

    의존성을 추가한 후 다시 실행하니 성공적으로 빌드되고, JavaFX 애플리케이션이 실행되었습니다. 화면에 JavaFX 버튼이 정상적으로 나타났습니다.

    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  06:57 min
    [INFO] Finished at: 2025-04-29T12:18:36+09:00
    [INFO] ------------------------------------------------------------------------
    

    버전 정보

    빌드 로그에서 확인할 수 있는 버전 정보:

    • Java 버전: 19 (타겟 버전)
    • JavaFX Maven 플러그인 버전: 0.0.8

    정확한 버전 확인은 다음 명령어로 가능합니다:

    java -version
    mvn help:evaluate -Dexpression=javafx.version -q -DforceStdout
    

    JavaFX 모바일 배포 가능성

    포스트를 작성하면서 JavaFX로 개발한 애플리케이션을 모바일에 배포할 수 있는지 궁금해졌습니다.

    결론적으로 가능은 하지만, 추가 도구가 필요합니다:

    • Gluon Mobile: JavaFX 앱을 Android와 iOS에 배포할 수 있게 해주는 상용 도구
    • 네이티브 앱보다 성능이 떨어지고, 앱 크기가 커지는 등의 제약사항이 있습니다
    • 전문적인 모바일 개발이 목표라면 Flutter나 React Native 같은 모바일 전용 프레임워크가 더 적합할 수 있습니다

    마무리

    간단해 보이는 JavaFX 프로젝트 실행도 여러 설정이 필요합니다. 특히 모듈 시스템을 사용할 때는 모든 의존성이 제대로 명시되어 있는지 확인하는 것이 중요합니다.

    앞으로 JavaFX로 더 복잡한 애플리케이션을 개발하면서 새로운 경험들을 공유하도록 하겠습니다.