Skip to content

Instantly share code, notes, and snippets.

@ZCube
Last active August 6, 2025 07:39
Show Gist options
  • Save ZCube/4625fe0eb03525e1b38526c82eb95e93 to your computer and use it in GitHub Desktop.
Save ZCube/4625fe0eb03525e1b38526c82eb95e93 to your computer and use it in GitHub Desktop.
java install
@echo off
setlocal enabledelayedexpansion
:: 설정
set "JDK_URL=https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_windows-x64_bin.zip"
set "JDK_ZIP=openjdk.zip"
set "JDK_TARGET=%ProgramFiles%\Java"
set "JDK_DIR=%JDK_TARGET%\jdk-21"
set "VS_CODE_URL=https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-user"
set "VS_CODE_EXE=VSCodeSetup.exe"
:: 관리자 권한 확인
net session >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ 관리자 권한으로 실행해야 합니다.
pause
exit /b 1
)
:: JDK 다운로드
echo ▷ OpenJDK 21 다운로드 중...
curl -L -o "%JDK_ZIP%" "%JDK_URL%"
if errorlevel 1 (
echo ❌ JDK 다운로드 실패
exit /b 1
)
:: 압축 해제 (tar 사용)
echo ▷ 압축 해제 중...
mkdir "%JDK_TARGET%\tempjdk"
tar -xf "%JDK_ZIP%" -C "%JDK_TARGET%\tempjdk"
if errorlevel 1 (
echo "❌ 압축 해제 실패 (tar 미지원?)"
exit /b 1
)
:: jdk-21 디렉토리로 이름 변경
for /D %%D in ("%JDK_TARGET%\tempjdk\jdk-21*") do (
move "%%~fD" "%JDK_DIR%"
)
rmdir /s /q "%JDK_TARGET%\tempjdk"
:: 환경 변수: JAVA_HOME 설정
echo ▷ JAVA_HOME 등록 중...
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t REG_SZ /d "%JDK_DIR%" /f
:: 기존 PATH 확인 및 수정
echo ▷ 기존 PATH 확인 중...
for /f "tokens=2,* delims= " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path 2^>nul') do (
set "OLD_PATH=%%b"
)
echo !OLD_PATH! | find /i "%JDK_DIR%\bin" >nul
if errorlevel 1 (
echo ▷ PATH에 Java 추가 중...
set "NEW_PATH=%JDK_DIR%\bin;!OLD_PATH!"
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "!NEW_PATH!" /f
) else (
echo ✅ Java bin 경로는 이미 PATH에 포함되어 있음
)
:: VSCode 설치
echo ▷ VSCode 설치 파일 다운로드 중...
curl -L -o "%VS_CODE_EXE%" "%VS_CODE_URL%"
if errorlevel 1 (
echo ❌ VSCode 다운로드 실패
exit /b 1
)
echo ▷ VSCode 설치 중...
start /wait "" "%VS_CODE_EXE%" /verysilent /mergetasks=!runcode
:: 완료 안내
echo.
echo ✅ 모든 작업이 완료되었습니다.
echo 🔄 변경 사항을 적용하려면 **로그아웃 후 다시 로그인** 또는 **시스템 재시작**이 필요합니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment