언어 및 프레임워크/eGovFrame

전자정부 표준프레임워크 시리즈 6화 – 개발환경 세팅하기: IDE, 빌드툴, 배포 구조까지 한 번에 이해하기

B컷개발자 2025. 5. 9. 14:33
728x90

전자정부 표준프레임워크 기반 프로젝트를 시작할 때 반드시 알아야 할 개발환경 구성 요소와 실행 환경 세팅, 빌드 도구, 배포 구조까지 실무 관점에서 종합적으로 정리합니다.


1. 왜 개발환경 구성부터 전략적으로 접근해야 하는가?

전자정부 표준프레임워크는 단일 라이브러리나 템플릿이 아닙니다.
IDE, 실행환경, 빌드 시스템, 배포 구조까지 함께 구성되어야 하는 복합적인 개발 체계입니다.

많은 초보 개발자나 SI 현장에서는

  • Eclipse를 그냥 설치하고
  • 생성기에서 프로젝트만 만들고
  • Maven으로 빌드만 하면 끝이라고 생각합니다.

그러나 실제 공공 프로젝트에서는 이 구성 하나로
개발 속도, 유지보수 품질, 배포 안정성, 감리 대응 수준이 모두 결정됩니다.


2. 필수 개발환경 요소 총정리 (2024 기준)

필수 소프트웨어 및 도구 버전

구성 요소 추천 버전 (2024년 기준) 비고

JDK JDK 8 이상 (4.1~), JDK 11~17 (4.3) OpenJDK 권장
IDE Eclipse 2021-09 이상 또는 Spring Tool Suite 4.x 표준 생태계 중심
빌드 도구 Maven 3.6 이상 Gradle은 실무 적용 희소
WAS Apache Tomcat 9 이상 (Servlet 3.1+) 4.x 필수 조건
DBMS Oracle, PostgreSQL, MySQL 모두 호환 JDBC Driver 설치 필수

※ 3.10 이전 버전은 JDK 7, Spring 4.x에 맞춰 환경을 설정해야 하며, 최신 OS에서는 의도치 않은 호환성 문제가 발생할 수 있습니다.


3. 프레임워크 설치 방법 요약

1) Eclipse + eGovFrame Plugin 설치

  1. Eclipse Marketplace에서 “전자정부 표준프레임워크 Plugin” 설치
  2. New → eGovFrame Web Project 실행
  3. 프레임워크 버전, 모듈 선택, DB 연동 여부 설정 후 생성
  4. Maven repository 연동 및 pom.xml 초기화 진행
  5. 로컬 Tomcat 연동 및 실행 확인

⚠️ 표준 프로젝트 템플릿은 4.x 기준으로 구조가 다르므로 반드시 버전을 확인하고 설정해야 함


4. Maven 기반 빌드 구조 이해

전자정부 프레임워크는 Maven Multi-Module 구조로 빌드됩니다.
일반적으로 다음과 같은 구성으로 이루어져 있습니다:

parent-pom/
 ├── web/
 ├── core/
 ├── common/
 └── batch/ (선택)

주요 특징

  • parent-pom이 모든 모듈을 제어 (의존성 통합, 빌드 설정)
  • web은 컨트롤러 및 JSP 포함
  • core는 Service, DAO, VO 중심 로직
  • batch는 Quartz/Job 기반 배치 모듈 (3.8 이상부터 자주 사용됨)

✅ pom.xml 내 의존성 설정을 정확히 맞춰야 배포 시 라이브러리 누락 오류를 방지할 수 있음


5. 실행/배포 구조 개요

전자정부 프레임워크는 아래와 같은 WAR 기반 배포 구조를 채택합니다:

  • WAR 방식:
    Maven build → .war 생성 → WAS(Tomcat/WebLogic 등)에 배포
  • JAR 방식 (4.x 일부 실험적 시도):
    Spring Boot 기반 구조로 java -jar 실행 가능
    단, 아직 대다수 공공 SI는 WAR 배포를 선호

배포 전략

환경 주요 방식 설명

개발 Eclipse → Tomcat 연동 빠른 수정/테스트 목적
스테이징 Jenkins 또는 수동 배포 DB 마이그레이션 포함
운영 검수 완료된 .war만 배포 배포 이력, 로그 기록 필수

6. 배포 시 자주 발생하는 오류와 대응법

오류 유형 원인 대응 방안

JSP 오류 Java 17 이상 사용 + JSP 호환 안됨 Tomcat JSP 엔진 별도 설정 필요
한글 깨짐 server.xml 인코딩 설정 누락 URIEncoding="UTF-8" 설정 필수
라이브러리 충돌 pom.xml 중복 정의 의존성 범위(scope) 명확히 분리
로그 출력 안 됨 logback/log4j 설정 미흡 공통 로그 설정 확인 및 적용

7. 운영 서버와 개발 서버 구조 차이

공공 프로젝트는 운영서버 배포 기준이 엄격합니다.

  • 로그 위치
  • DB 계정 분리
  • URL 접근 제어
  • 공공망 인증서 연동 등

프레임워크 기반이라도 운영 환경에선 별도의 보안 가이드와 WAS 설정 가이드를 따라야 하며,
이는 프레임워크가 모든 걸 자동화하지는 않음을 의미합니다.


결론 – 프레임워크는 설치보다 설계가 중요하다

전자정부 표준프레임워크 프로젝트는
Eclipse로 생성만 하고 끝나는 구조가 아닙니다.

설치 이후의

  • Maven 구조 해석
  • 로그 설정
  • 배포 전략 수립
  • 오류 대응 체계
    까지 개발 환경 구성 자체가 프로젝트 품질을 좌우합니다.

따라서 6화까지의 흐름을 따라오신 분들은
이제 단순한 프레임워크 사용자가 아니라
‘공공 SI 기반 설계자’로의 첫걸음을 떼었다고 볼 수 있습니다.


다음 화 예고

👉 전자정부 표준프레임워크 시리즈 7화 – 프로젝트 생성기 구조 분석: 자동 생성 코드의 진짜 의미와 실무 활용 전략

728x90