3장_ JDK 17 + Maven 설치

2026. 1. 28. 23:19·Book/자바 웹 프로그래밍 Next Step

 

원격 서버(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

여기서 확인해야 할 핵심은 두 가지.

  1. Maven 버전이 출력되는지
  2. 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
'Book/자바 웹 프로그래밍 Next Step' 카테고리의 다른 글
  • 3장_ 방화벽 설정
  • 3장_ 원격 서버 띄우기
  • 3장_ 원격 서버 배포 전 준비 : UTF-8 세팅하기
  • 3장_ 실습 환경 구축
sqaxe1
sqaxe1
woojoo-devlog 님의 블로그 입니다.
  • sqaxe1
    Woojoo's Devlog
    sqaxe1
  • 전체
    오늘
    어제
    • 분류 전체보기 (148)
      • Backend (9)
        • Servlet (7)
        • Spring (2)
      • Frontend (1)
      • CS (0)
      • Book (33)
        • 자바 웹 프로그래밍 Next Step (30)
        • 테스트 주도 개발: 고품질 쾌속개발을 위한 TDD.. (1)
        • 성공과 실패를 결정하는 1%의 네트워크 원리 (2)
      • Engineering (0)
        • Testing (0)
      • Infra (6)
        • AWS (6)
      • Java (4)
      • Network (1)
      • 김영한 (28)
        • 자바 입문 (8)
        • 실전 자바 - 기본편 (6)
        • 실전 자바 - 중급편 (10)
        • 실전 자바 - 고급편 (4)
      • Web (39)
        • Web Basics (39)
      • Project (24)
        • NeoSquare (0)
        • Memo Evolution (24)
      • 정보처리기사 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java
    aws
    개발서적
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sqaxe1
3장_ JDK 17 + Maven 설치
상단으로

티스토리툴바