전자정부 표준프레임워크 시리즈 6화 – 개발환경 세팅하기: IDE, 빌드툴, 배포 구조까지 한 번에 이해하기
전자정부 표준프레임워크 기반 프로젝트를 시작할 때 반드시 알아야 할 개발환경 구성 요소와 실행 환경 세팅, 빌드 도구, 배포 구조까지 실무 관점에서 종합적으로 정리합니다.
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 설치
- Eclipse Marketplace에서 “전자정부 표준프레임워크 Plugin” 설치
- New → eGovFrame Web Project 실행
- 프레임워크 버전, 모듈 선택, DB 연동 여부 설정 후 생성
- Maven repository 연동 및 pom.xml 초기화 진행
- 로컬 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화 – 프로젝트 생성기 구조 분석: 자동 생성 코드의 진짜 의미와 실무 활용 전략