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로 더 복잡한 애플리케이션을 개발하면서 새로운 경험들을 공유하도록 하겠습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다