전자정부 프레임워크를 인텔리제이에서 써보자.
최근 입사한 회사에서 전자정부 프레임워크를 사용해 공공기관 프로젝트를 진행한다는 것을 알았다.
사실 그전부터 전자정부 프레임워크를 많이 들어보긴 했지만, 기본적으로 정부관련 사업보다는 인하우스나 솔루션 개발쪽에만 지냈기 때문이었던 것일까 전혀 접할 기회가 없었던 것도 사실이다.
한가지 알 수 있게 된 사실은 전자정부프레임워크(이하 eGov)는 스프링 프레임워크를 기반으로 만들어진 개발 환경, 운영 환경 그리고 실행 환경을 제공해 준다는 점. 일단은 오픈소스 기술을 사용해 특정 기업 또는 사업자에 종속되지 않게 만든 것 같다. 여기까지 들어보면 정말 좋은 패키지라고 생각될 수 있는데 문제는....
1. eGov는 '이클립스' 를 쓴다는 것.
이클립스가 나쁘다는 것은 아니다. 다만.. 너무나도 낡은 UI와 성능적인 문제, 그리고 다른 IDE에서 제공하는 최신 기술들과 데이터베이스 관련 문제를 해결 할 수 없다는 것이 가장 큰 단점으로 다가왔다.
2. eGov는 스프링과 메이븐 빌더를 쓰기 때문
eGov가 스프링과 메이븐 빌더를 쓴다면 그 말은 인텔리제이도 쓸 수 있다는 것이었다. 그래서 한 번 알아보기로 했다.
처음 시작은 전자정부프레임워크 공식 문서를 확인하는 것이었다.
기본적으로 전자정부 프레임워크는 메이븐 센트럴 리포지토리를 통해 배포하지 않는 걸로 알게 되었다. 그 말은 즉, 로컬로 레포지토리를 내려받아 의존성을 추가해 줘야한다는 것이었다.
의존성에 관련된 파일은 전자정부 사이트에서 찾을 수 있었다. 나 같은 경우 eGov 3.10 버전을 쓰고 있었으므로 그거에 맞는 의존성을 다운받도록 해야한다.
egovframework:dev3.10:gettingstarted [eGovFrame]
egovframework:dev3.10:gettingstarted [eGovFrame]
본 가이드는 전자정부 표준프레임워크 기반의 단순한 응용프로그램(HelloWorld)를 직접 실습해 봄으로써 빠른 시간 내에 전자정부 프레임워크의 기본 기능을 파악하기 위하여 제공한다. 본 가이드
www.egovframe.go.kr
여기에서 Maven 관련 종속 라이브러리를 다운받아 메이븐 설정을 해줘야 한다.
다운 받은 후에는 원하는 곳에 압축을 풀어 메이븐 설정과 연동 시켜 주면 된다.
나 같은 경우, 이미 프로젝트에 있는 pom.xml을 수정하기가 힘들고, 또한 내 개발 환경 설정을 종속 시키는 것이기도 하기 때문에 대신에 Maven의 settings.xml 파일을 수정하는 것으로 타협하기로 했다.
<settings>
<mirrors>
<mirror>
<id>egovframe-mirror</id>
<mirrorOf>egovframe</mirrorOf>
<url>file:///D:\<경로>\maven_repository_3_10</url>
</mirror>
</mirrors>
</settings>
이렇게 하면 기존의 pom.xml 에서 추가되어 있던 egovframe의 mirror를 로컬 레포지토리로 연결 시키게 되면, 인터넷에서 다운 받지 못하는 의존성을 다운 받은 의존성 리포지토리로 미러를 설정해 의존성을 제대로 가져올 수 있게 된다!
이제 인텔리제이에서 내가 다운 받은 maven 또는 인텔리제이에서 번들된 maven을 쓰고 싶다면 settings.xml을 Override 해서 잡아주면 끝.
다음엔 톰캣 연결에 대해서 써볼까 한다.