폐쇄망/내부망 환경에서 Maven 빌드 실패 해결 가이드 (IntelliJ + .m2 설정)

2026. 1. 19. 13:42·Projects/Work Experience

보안이 철저한 금융권이나 공공기관 프로젝트를 하다 보면, 폐쇄망(내부망) 환경에서 개발해야 하는 경우가 많다. 이때 가장 먼저 마주치는 난관이 바로 Maven 빌드 실패다.

인터넷이 차단되어 외부 리포지토리(Central Repository)에 접근할 수 없기 때문인데, 이를 해결하기 위해 IntelliJ와 Maven 설정에서 꼭 확인해야 할 핵심 2가지와 settings.xml의 의미를 정리한다.


1. IntelliJ 설정: 'Work offline' 활성화

가장 먼저 IDE에게 "지금 인터넷 안 되니까 외부 요청 보내지 마"라고 알려줘야 한다.

  1. 설정 진입: Ctrl + Alt + S (Win/Linux) 또는 File > Settings

  1. 메뉴 이동: Build, Execution, Deployment > Build Tools > Maven
  2. 옵션 체크: Work offline 체크박스를 활성화

Note: 이 설정을 켜면 Maven은 네트워크 통신을 시도하지 않고, 오직 로컬(PC)에 있는 라이브러리만 찾아 빌드함.

2. 로컬 리포지토리(.m2) 경로 및 파일 확인

'Work offline'을 켰는데도 빌드가 안 된다면, 십중팔구 필요한 라이브러리 파일(.jar)이 로컬에 없기 때문이다. 폐쇄망에서는 외부에서 다운로드받은 .m2 폴더를 통째로 반입해서 사용해야 한다. 또한 .m2 폴더 위치가 변동되었다면 Override 옵션을 켜고 경로를 다시 잡아줘야 한다.

체크 포인트

반입 전 검증 필수 반입 요청을 했음에도 파일이 깨지거나 누락되는 경우가 빈번하다. 가장 확실한 방법은 외부망(인터넷 되는 PC)에서 랜선을 뽑고(인터넷 차단) 빌드를 돌려보는 것이다. 이 상태에서 빌드가 성공해야 완벽한 .m2 폴더다. 이 '검증된 폴더'를 그대로 재반입 요청하자.

3. settings.xml 설정과 HTTP 차단 이해하기

.m2 파일도 완벽하고 경로도 맞는데 에러가 난다면, settings.xml 설정을 살펴봐야 한다. 보통 아래와 같은 미러링 설정이 포함되어 있다.

<settings>
  <mirrors>
    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
    </mirror>
  </mirrors>
  </settings>

 

왜 이런 설정을 할까?

  1. "인터넷 연결이 제한된 환경" 대응: 폐쇄망에서는 외부 라이브러리 다운로드가 불가능하다. 따라서 외부 요청을 차단하거나 로컬/사내 서버로 돌리기 위해 mirror 설정을 사용한다.
  2. 보안 규정 준수 (HTTP 차단): maven-default-http-blocker는 암호화되지 않은 HTTP 사이트 접속을 강제로 막는 설정이다. 최신 Maven은 보안을 위해 HTTPS가 아니면 통신을 차단한다. url을 0.0.0.0으로 설정한 것은 HTTP 요청을 아예 무효화시키겠다는 뜻이다.
  3. 빌드 속도 및 안정성: 매번 외부망을 타지 않고 로컬 복사본을 쓰면 빌드 속도가 훨씬 빠르고, 외부 서버 장애의 영향을 받지 않는다.
  4.  

폐쇄망에서 빌드 에러가 뜨면 당황하지 말고 1. Work offline 체크, 2. .m2 파일 및 경로 확인, 3. settings.xml 설정 순서로 점검하면 대부분 해결된다.

 

 

 

'Projects > Work Experience' 카테고리의 다른 글

100만 건 데이터 조회 속도 60배 빠르게 만들기 (Tibero 튜닝)  (0) 2026.01.20
'Projects/Work Experience' 카테고리의 다른 글
  • 100만 건 데이터 조회 속도 60배 빠르게 만들기 (Tibero 튜닝)
Dev히다
Dev히다
Java 백엔드 개발자입니다. 안정적인 서비스 운영과 효율적인 인프라 구축에 몰입합니다. 코드가 돌아가는 환경까지 이해하는 엔지니어를 지향합니다. Architecture, TroubleShooting, Tech Log.
  • Dev히다
    Java to Cloud : Dev Note
    Dev히다
  • 전체
    오늘
    어제
    • 분류 전체보기 (186)
      • AI & Future Tech (2)
        • AI Workspace (0)
        • AI Weekly News (0)
        • AI Agent & Automation (0)
        • LLM & RAG (2)
      • Backend Engineering (20)
        • Java & Spring (15)
        • JPA & QueryDSL (5)
      • Data Engineering (4)
        • DBMS & Tuning (3)
        • Redis & Cache (1)
      • Cloud & DevOps (5)
        • AWS Infrastructure (3)
        • Docker & CI CD (2)
      • Algorithm & CS (6)
        • CodingTest (5)
        • Computer Science (1)
      • Projects (12)
        • Side Project (10)
        • Work Experience (2)
      • Troubleshooting (9)
        • Error Log (0)
        • Review (9)
      • Log (0)
        • 내 맘대로 (0)
        • 여행 (0)
        • 요즘 (0)
      • Archive (125)
        • 기술면접 (33)
        • Project (9)
        • Spring (29)
        • Spring_Boot (2)
        • JAVA (5)
        • Servlet_JSP (12)
        • SQL (6)
        • JavaScript (1)
        • HTML_CSS (6)
        • Jquery (3)
        • Mybatis (1)
        • Vue.js (3)
        • 기타 (3)
        • 기타2 (2)
        • 코테대비 (10)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Terraform
    docker
    AOP
    select
    SQL
    MVC2
    코딩테스트
    redis
    프로그래머스
    스프링
    대용량 트래픽
    자바
    JSP
    MVC
    김영한
    기술 대비
    공부기록
    토이프로젝트
    폐쇄망
    뉴렉처
    프레임워크
    인텔리제이
    thread
    aws
    @RestController
    CORS
    코테
    Join
    @Controller
    인프런
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Dev히다
폐쇄망/내부망 환경에서 Maven 빌드 실패 해결 가이드 (IntelliJ + .m2 설정)
상단으로

티스토리툴바