ERP-node/build-windows.bat

126 lines
3.8 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
echo ===============================================
echo Java 애플리케이션 빌드 (윈도우용)
echo ===============================================
echo.
REM Java 환경 확인
echo [빌드 1] Java 환경 확인...
java -version >nul 2>&1
if %errorlevel% neq 0 (
echo [오류] Java가 설치되지 않았거나 PATH에 설정되지 않았습니다.
echo Java 7 이상을 설치하고 PATH를 설정해주세요.
exit /b 1
)
javac -version >nul 2>&1
if %errorlevel% neq 0 (
echo [오류] Java 컴파일러(javac)를 찾을 수 없습니다.
echo JDK가 설치되어 있는지 확인해주세요.
exit /b 1
)
echo ✓ Java 환경 확인 완료
REM 빌드 디렉토리 정리
echo [빌드 2] 이전 빌드 결과 정리...
if exist "WebContent\WEB-INF\classes" (
rmdir /s /q "WebContent\WEB-INF\classes"
)
echo ✓ 이전 빌드 결과 정리 완료
REM 필요한 디렉토리 생성
echo [빌드 3] 빌드 디렉토리 생성...
if not exist "WebContent\WEB-INF\classes" mkdir "WebContent\WEB-INF\classes"
if not exist "WebContent\WEB-INF\lib" mkdir "WebContent\WEB-INF\lib"
if not exist "logs" mkdir "logs"
echo ✓ 빌드 디렉토리 생성 완료
REM Servlet API JAR 확인
echo [빌드 4] 라이브러리 의존성 확인...
set "SERVLET_JAR_1=WebContent\WEB-INF\lib\javax.servlet-api-4.0.1.jar"
set "SERVLET_JAR_2=WebContent\WEB-INF\lib\servlet-api.jar"
if not exist "%SERVLET_JAR_1%" if not exist "%SERVLET_JAR_2%" (
echo [오류] Servlet API JAR 파일을 찾을 수 없습니다.
echo 다음 중 하나가 필요합니다:
echo - %SERVLET_JAR_1%
echo - %SERVLET_JAR_2%
echo.
echo Maven Central에서 다운로드하거나 Tomcat lib 폴더에서 복사해주세요.
exit /b 1
)
echo ✓ 라이브러리 의존성 확인 완료
REM 클래스패스 설정
set "CLASSPATH=src;WebContent\WEB-INF\lib\*"
echo [빌드 5] 클래스패스: %CLASSPATH%
REM Java 소스 파일 목록 생성
echo [빌드 6] Java 소스 파일 검색...
if exist java_sources.tmp del java_sources.tmp
set "java_count=0"
for /r src %%f in (*.java) do (
echo %%f >> java_sources.tmp
set /a java_count+=1
)
if %java_count% equ 0 (
echo [경고] 컴파일할 Java 소스 파일이 없습니다.
) else (
echo%java_count%개의 Java 소스 파일을 찾았습니다.
)
REM Java 컴파일
if exist java_sources.tmp (
echo [빌드 7] Java 소스 컴파일...
javac -encoding UTF-8 -source 1.7 -target 1.7 -d WebContent\WEB-INF\classes -cp "%CLASSPATH%" @java_sources.tmp
if !errorlevel! neq 0 (
echo [오류] Java 컴파일에 실패했습니다.
if exist java_sources.tmp del java_sources.tmp
exit /b 1
)
del java_sources.tmp
echo ✓ Java 컴파일 완료
)
REM 리소스 파일 복사
echo [빌드 8] 리소스 파일 복사...
set "resource_count=0"
for /r src %%f in (*.xml *.properties *.sql) do (
set "source_file=%%f"
set "relative_path=!source_file:%CD%\src\=!"
set "target_file=WebContent\WEB-INF\classes\!relative_path!"
REM 대상 디렉토리 생성
for %%d in ("!target_file!") do (
if not exist "%%~dpd" mkdir "%%~dpd" 2>nul
)
REM 파일 복사
copy "!source_file!" "!target_file!" >nul 2>&1
if !errorlevel! equ 0 (
set /a resource_count+=1
) else (
echo [경고] 리소스 파일 복사 실패: !source_file!
)
)
echo%resource_count%개의 리소스 파일 복사 완료
REM 빌드 결과 요약
echo.
echo ===============================================
echo ✓ 빌드 완료!
echo ===============================================
echo 컴파일된 클래스: WebContent\WEB-INF\classes\
echo 라이브러리: WebContent\WEB-INF\lib\
echo 로그 디렉토리: logs\
echo.
endlocal