# PLM 윈도우 개발환경 가이드 ## 🚀 빠른 시작 ### 1. 전체 환경 시작 ```cmd start-windows.bat ``` ### 2. 환경 중지 ```cmd stop-windows.bat ``` ### 3. 빌드만 실행 ```cmd build-windows.bat ``` ## 📋 사전 요구사항 ### 필수 소프트웨어 - **Docker Desktop for Windows** (WSL2 백엔드 사용) - **Java Development Kit (JDK) 7 이상** - **Git for Windows** ### Docker Desktop 설정 1. Docker Desktop 설치 2. **Settings > General**에서 "Use WSL 2 based engine" 체크 3. **Settings > Resources > WSL Integration**에서 WSL 배포판 활성화 ## 📁 파일 구조 ``` new_ph/ ├── start-windows.bat # 🎯 메인 시작 스크립트 ├── stop-windows.bat # ⏹️ 중지 스크립트 ├── build-windows.bat # 🔨 Java 빌드 스크립트 ├── docker-compose.win.yml # 🐳 윈도우용 Docker Compose ├── Dockerfile.win # 🐳 윈도우용 Dockerfile ├── config.windows.env # ⚙️ 환경 변수 설정 └── README-WINDOWS.md # 📖 이 파일 ``` ## ⚙️ 환경 설정 ### config.windows.env 파일 수정 ```env # 데이터베이스 설정 DB_PASSWORD=your_password_here # 포트 설정 (충돌 시 변경) TOMCAT_PORT=9090 # 메모리 설정 TOMCAT_MEMORY_MIN=512m TOMCAT_MEMORY_MAX=1024m ``` ## 🐳 Docker 서비스 ### 애플리케이션 서비스 - **컨테이너명**: plm-windows - **포트**: 9090 → 8080 - **접속 URL**: http://localhost:9090 ### 데이터베이스 서비스 - **컨테이너명**: plm-postgres-win - **포트**: 5432 → 5432 - **데이터베이스**: plm - **사용자**: postgres - **패스워드**: ph0909!! ## 🔧 주요 명령어 ### Docker 관리 ```cmd # 컨테이너 상태 확인 docker-compose -f docker-compose.win.yml ps # 로그 확인 docker-compose -f docker-compose.win.yml logs -f # 특정 서비스 로그 docker-compose -f docker-compose.win.yml logs -f plm-app docker-compose -f docker-compose.win.yml logs -f plm-db # 컨테이너 재시작 docker-compose -f docker-compose.win.yml restart plm-app ``` ### 개발 작업 ```cmd # 빌드만 실행 build-windows.bat # 컨테이너 재빌드 docker-compose -f docker-compose.win.yml up --build -d # 데이터베이스 리셋 docker-compose -f docker-compose.win.yml down -v docker-compose -f docker-compose.win.yml up -d ``` ## 🐛 문제 해결 ### Docker Desktop 실행 안됨 ```cmd # Windows 서비스 확인 sc query com.docker.service # WSL2 상태 확인 wsl --status # Docker Desktop 재시작 taskkill /f /im "Docker Desktop.exe" start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe" ``` ### Java 컴파일 오류 ```cmd # Java 버전 확인 java -version javac -version # 클래스패스 문제 시 수동 빌드 javac -cp "WebContent\WEB-INF\lib\*" -d WebContent\WEB-INF\classes src\com\pms\**\*.java ``` ### 포트 충돌 ```cmd # 포트 사용 확인 netstat -ano | findstr :9090 # 프로세스 종료 taskkill /PID /F ``` ### 볼륨 권한 문제 ```cmd # Docker 볼륨 정리 docker volume prune -f # WSL2 재시작 wsl --shutdown ``` ## 📊 모니터링 ### 리소스 사용량 ```cmd # Docker 시스템 정보 docker system df # 컨테이너 리소스 사용량 docker stats # 로그 크기 확인 dir logs /s ``` ### 헬스체크 ```cmd # 애플리케이션 상태 curl http://localhost:9090 # 데이터베이스 연결 테스트 docker exec plm-postgres-win psql -U postgres -d plm -c "SELECT version();" ``` ## 🔄 업데이트 ### 코드 변경 후 1. `build-windows.bat` 실행 2. `docker-compose -f docker-compose.win.yml restart plm-app` ### Docker 이미지 업데이트 ```cmd docker-compose -f docker-compose.win.yml down docker-compose -f docker-compose.win.yml pull docker-compose -f docker-compose.win.yml up --build -d ``` ## 📞 지원 문제가 발생하면 다음을 확인하세요: 1. **로그 파일**: `logs/` 디렉토리 2. **Docker 로그**: `docker-compose -f docker-compose.win.yml logs` 3. **시스템 요구사항**: Docker Desktop, WSL2, Java JDK 4. **네트워크**: 방화벽, 포트 충돌 --- **🎉 즐거운 개발 되세요!**