이 저장소는 두 개의 유튜브 라이브 채팅을 동시에 확인할 수 있는 JavaFX GUI 프로그램입니다.
macOS 지원 – Maven 빌드는 Apple Silicon과 Intel 맥을 자동 감지하며,
src/main/resources/MyApp.icns아이콘을 사용해.app번들과.dmg이미지를 함께 생성합니다.
- JDK 17 이상 설치 –
java -version과javac -version으로 확인합니다. - Apache Maven 설치 –
mvn -v로 확인합니다. - (Apple Silicon)
JAVA_HOME과 PATH를 Apple Silicon용 OpenJDK 17+로 맞춥니다.
mvn clean javafx:runmvn clean package빌드가 끝나면 target/yt-multichat-javafx-1.0.0.jar와 target/lib/가 생성됩니다. JavaFX 모듈을 모듈 경로에 올리고 실행하세요.
java \
--module-path target/lib \
--add-modules javafx.controls,javafx.web \
-jar target/yt-multichat-javafx-1.0.0.jar
target/lib안에 아키텍처별(JavaFXmac또는mac-aarch64) 네이티브 라이브러리가 복사되므로, JAR과lib폴더를 함께 배포해야 합니다.
mvn clean package 단계에서 target/yt-multichat/에 JavaFX 런타임 이미지가 자동으로 생성됩니다. (macOS에서는 아키텍처를 자동으로 감지합니다.)
런타임 이미지는 즉시 실행할 수 있습니다.
target/yt-multichat/bin/yt-multichat.app 번들과 .dmg 이미지는 같은 패키징 단계에서 target/jpackage/ 아래에 생성됩니다. Maven은 macOS에서 자동으로 scripts/macos-jpackage.sh을 실행하여 jpackage를 호출합니다.
target/jpackage/TubeMultiView.app– 로컬 실행 및 서명 대상 번들target/jpackage/TubeMultiView-1.0.0.dmg– 배포용 디스크 이미지
Apple Developer ID 인증서로 정식 서명을 하려면 다음과 같이 실행하세요.
mvn \
-Dmac.sign.identity="Developer ID Application: Your Name (TEAMID)" \
-Dmac.sign.keychain="/Users/you/Library/Keychains/login.keychain-db" \
clean packagemac.sign.identity를 지정하지 않으면(기본값) 서명이 건너뛰어지며, mac.sign.keychain은 선택 사항입니다. 명시한 인증서는 codesign --options runtime으로 .app 번들에 적용된 뒤, 동일한 번들을 기반으로 .dmg가 다시 생성됩니다. 추가 배포 형식이 필요하면 target/jpackage/TubeMultiView.app를 기반으로 직접 jpackage를 재실행하거나 hdiutil을 사용할 수 있습니다.
애플리케이션을 닫을 때는 창 메뉴의 Quit(⌘+Q) 또는 창 닫기 버튼을 사용해 정상 종료하세요. 백그라운드 업데이트 스케줄러가 함께 내려가며, Preferences에 저장된 API 키/영상 ID 정보는 유지됩니다.