원격 서버(EC2)에 배포 실습을 하려면, 서버에서 직접 빌드하고 실행할 수 있는 자바 개발 환경이 필요하다.
그래서 Ubuntu환경에서 OpenJDK 17 + Maven을 apt 패키지 매니저로 설치해두려고 한다.
책에서는 tar.gz를 내려받아 압축을 풀고 PATH를 설정하는 방식도 설명하지만, 실습 목적이기때문에 Ubuntu에서 가장 실용적이고 안정적인 방식인 apt 설치로 진행하겠다.
- 설치 위치가 시스템 표준 경로로 자동 정리됨
- 환경변수/심볼릭 링크도 OS가 알아서 설정해줌
- 결국 “설치했는데 java가 안 잡혀요…” 같은 삽질을 최소화할 수 있음
즉, 실습을 매끄럽게 진행하려면 apt가 제일 덜 귀찮고, 제일 덜 위험하다.
먼저 Ubuntu 버전 확인하기
EC2에 접속한 다음, 현재 우분투 버전이 몇 인지부터 확인한다.
cat /etc/os-release | head -n 2
출력:
PRETTY_NAME="Ubuntu 24.04.3 LTS" NAME="Ubuntu"
Ubuntu 버전이 다르면 패키지 버전/명령/경로가 살짝 달라질 수 있어서, 여기서부터 먼저 잡고 가는 게 좋다.
apt update: 패키지 목록 갱신
설치 전에 거의 습관처럼 먼저 치는 명령이다.
sudo apt update
apt는 “서버에서 설치 가능한 패키지 목록”을 리포지토리에서 내려받아 캐시로 관리한다.
sudo apt update는 그 목록을 최신 상태로 갱신하는 작업이다.
여기서 중요한 포인트:
- update는 “설치”가 아니라 설치 후보 목록 갱신
- 이걸 안 하고 바로 설치하면, 오래된 목록 기준으로 설치돼서
- 의존성 충돌
- 패키지 버전 꼬임
이런 문제가 날 수 있음
그래서 설치 전에는 apt update를 먼저 하는 게 정석이다.
OpenJDK 17 설치 (JDK 설치)
서버에서 빌드까지 하려면 JDK가 필요하다.
sudo apt install -y openjdk-17-jdk
-y 옵션은?
설치 중에 “진행할까요? (Y/n)” 같은 질문이 나오면 자동으로 Yes를 입력해준다.
실습에서는 반복 작업이 많아서 거의 붙이는 편.
JDK가 뭔데?
헷갈리기 쉬워서 여기서 정리해두면 편하다.
- JRE: 자바 프로그램을 “실행”하는 환경
- JDK: 자바 프로그램을 “컴파일 + 실행”할 수 있는 개발 키트
즉, javac 컴파일러가 들어있는 건 JDK다.
서버에서 mvn package 같은 빌드를 할 거라면 JDK는 필수다.
설치 확인: java / javac 버전 체크
설치하고 나면 “진짜 17로 잡혔나?” 확인부터 한다.
java -version
javac -version
여기서 중요한 건 딱 하나다.
17이 뜨는지
Maven 설치
다음은 Maven. 자바 프로젝트를 서버에서 빌드하려면 사실상 필수다.
sudo apt install -y maven
Maven이 하는 일
Maven은 자바 프로젝트의 “표준 빌드 도구”다.
- 의존성(라이브러리) 다운로드
- 컴파일 / 테스트 / 패키징(jar/war)
- pom.xml 기반으로 빌드 과정 자동화
결국 서버에서는 보통 이 한 줄이 핵심이 된다:
mvn clean package
이게 돌아가야 “서버에서 빌드 가능”한 상태가 되는 거다.
Maven 설치 확인: mvn -version
mvn -version
여기서 확인해야 할 핵심은 두 가지.
- Maven 버전이 출력되는지
- Java version이 17인지
즉 Maven이 “서버의 Java 17”을 제대로 인식했고, 빌드에 사용할 준비가 된 상태다.
Java가 여러 개 깔려 있을 때 기본 Java 선택하기
지금은 보통 JDK 17만 설치해서 별 문제 없지만,
나중에 JDK 11 / 21 등을 추가로 깔면 “기본 java가 뭘 가리키는지”가 꼬일 수 있다.
그럴 때 쓰는 명령:
sudo update-alternatives --config java
목록이 나오면 원하는 버전(예: 17)을 번호로 선택한다.
참고로, 처음 설치 직후에는 선택지가 1개뿐인 경우가 많아서 사실상 자동으로 17이 기본이다.
정리: 지금 상태에서 할 수 있는 것
여기까지 하면 원격 서버(Ubuntu)에서 최소한 이게 가능해진다.
- Java 코드 컴파일/실행 가능 (JDK 17)
- Maven 기반 프로젝트 빌드 가능
- 다음 단계로 git clone → mvn clean package → java -jar ... 흐름으로 바로 배포 실습 진행 가능
출처 : 《자바 웹 프로그래밍 Next Step》, 박재성, 로드북
'Book > 자바 웹 프로그래밍 Next Step' 카테고리의 다른 글
| 3장_ 방화벽 설정 (0) | 2026.01.29 |
|---|---|
| 3장_ 원격 서버 띄우기 (0) | 2026.01.29 |
| 3장_ 원격 서버 배포 전 준비 : UTF-8 세팅하기 (0) | 2026.01.28 |
| 3장_ 실습 환경 구축 (0) | 2026.01.28 |
| 2장_ 문자열 계산기 추가 요구사항 : 중복 제거, 읽기 좋은 코드를 구현하기 위한 리팩토링 (0) | 2026.01.27 |