126 lines
3.8 KiB
Batchfile
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 |