안녕하세요! 오늘은 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로 더 복잡한 애플리케이션을 개발하면서 새로운 경험들을 공유하도록 하겠습니다.
답글 남기기