본문 바로가기

Architecture for Software/Google App Engine

Google App Engine for Java 용 Maven 프로젝트 구축하기

최근 Google App Engine에 많은 관심을 가지고 이런 저런 테스트를 하고 있습니다.

Google App Engine for Java의 경우 이클립스 플러그인이 제공되기 때문에 쉽게 프로젝트를 생성하고 간편하게 테스트할 수 있습니다. GAE for Java용 이클립스 플러그인에 대한 자세한 정보는 http://code.google.com/appengine/docs/java/tools/eclipse.html 에서 확인할 수 있습니다.

프로젝트가 진행되면서 많은 라이브러리들이 필요할 경우에는 아시다시피 Maven을 사용하는 것이 효과적입니다. Maven은 여러모로 훌륭한 의존성 관리를 해주며, 이행종속관계에 따른 라이브러리 관리를 쉽게 해줍니다.

이러한 기능은 프로젝트 규모가 클수록, 어플리케이션이 복잡할수록 많은 효과를 발휘합니다. 이에 따라서 Maven을 사용할 수 있는 Google App Engine for Java 프로젝트를 구축하는 방법을 Step by Step으로 확인해 보겠습니다.


1. 이클립스에서 메이븐 프로젝트 생성
여러분의 이클립스에 이미 메이븐 플러그인이 설치되어 있다고 가정하겠습니다. 만약 아직 메이븐 플러그인이 설치되어 있지 않다면, Galileo 기준으로 Help >> Install New Software >> Add 에서 Location 정보에 http://m2eclipse.sonatype.org/update/ 를 넣은 후 설치하시기 바랍니다.

그러면 아래와 같이 Maven Project를 선택하여 새로운 메이븐 프로젝트를 만들 수 있습니다.


Use default Workspace location을 선택하시면, 현재 워크스페이스 디렉토리 아래에 메이븐 프로젝트가 생성됩니다. 만약 다른 위치에 메이븐 프로젝트를 생성하고 싶다면 Browse... 버튼을 클릭하셔서 위치를 변경하시면 됩니다.



2. Google App Engine for Java용 Archtype Catalog 추가
다음에는 Archtype 플러그인을 선택할 수 있는 화면이 나옵니다. 여기에 우리가 원하는 Google App Engine for Java 용 Archtype이 없으므로 Configure... 버튼을 클릭합니다.


그리면 다음과 같이 Archtype Catalog를 추가할 수 있는 화면이 나옵니다. Add Remove Catalog... 버튼을 클릭하신 후 Catalog File에 http://www.mvnsearch.org/maven2 를 추가한 후 간단한 설명을 Descrption에 넣습니다. 저의 경우 Maven Archtype for GAE/J 라고 넣었습니다.


자 이렇게 Archtype Catalog를 추가한 후에는 Catalog에 appengine-quickstart Archtype 이 나타납니다. 선택한 후 Next 버튼 누르세요~



3. 메이븐 프로젝트의 코디네이트(Coordinate) 입력

메이븐의 모든 아티팩트(Artiface)는 코디네이트를 가지고 있습니다. 메이븐을 잘 모르시는 분들을 위하여 조금 더 설명을 드리면, 메이븐으로 관리되는 모든 프로젝트는 Group Id, Artifact ID, Version, Type 등의 프로젝트를 유일하게 식별할 수 있는 값을 가지고 있으며, 이 값이 코디네이트라고 합니다.

자 저의 경우 최근 공개소프트웨어 공모전에서 Vision Software in Life 란 어플리케이션을 개발하고 있으므로, 아래와 같이 코디네이트를 정했습니다.

참고로 Properties에 appengine_home에는 미리 다운로드 받으신 Google App Engine for Java SDK가 위치한 경로를 넣어주시기 바랍니다. 만약 SDK를 다운로드 받지 않아셨다면 http://code.google.com/appengine/downloads.html에 가셔서 다운로드 받으시기 바랍니다.

자 Finish 버튼을 클릭하면 간단하게 메이븐을 활용한 Google App Engine for Java 프로젝트가 생성됩니다.



4. 패키징과 실행하기

Maven의 Archtype 플러그인이 훌륭하게 GAE/J 프로젝트를 생성해 주었네요 :-)


하지만, 에러가 하나 있군요~ 간단하게 Quick Fix 하실 수 있습니다.


그리고 Maven의 경우 J2SE-1.5 표준으로 Java SDK를 설정하기 때문에 현재 활용하고 계신 JDK로 Edit 버튼을 클릭하셔서 수정하실 수 있습니다. 필수는 아닙니다.



이 부분이 중요한데 Maven의 pom.xml만 있는게 아니고 앤트의 build.xml도 존재합니다.
Maven으로 Package하시고, Ant로 실행시키는 구조이기 때문입니다. 아까 입력한 appengine_home 프로퍼티는 sdk.dir의 location 값입니다. 만약 이 부분이 설정되어 있지 않다면, 간단하게 SDK의 경로를 입력하세요.


자 Package 해 볼까요 :-)


아마 Package 가 모두 성공하셨을 것입니다. Build도 간단하게 하실 수 있습니다. Ant Build... 선택합니다.


그리고 runserver를 선택하여 develpment server를 실행할 수 있도록 설정합니다.


그러면 다음과 같이 GAE/J가 실행된 내역을 확인할 수 있습니다. ;-)




5. Repository 추가하기

pom.xml에서 Repository를 하나 더 추가하기를 권장합니다. 바로 Google Maven Repository입니다. 필수는 아닙니다만, 나중에 Google 관련 Maven을 업데이트 하실 때 편할 것 같습니다.



자 이상으로 간략하게 Maven을 활용한 Google App Engine for Java 프로젝트를 생성하는 법에 관하여 살펴보았습니다. 많은 분들이 쉽게 Google App Engine for Java 를 활용하시는데 도움이 되었으면 좋겠습니다.

마지막으로 본 내용을 구성하면서 http://gae-j-maven.appspot.com/에 있는 내용을 많이 참고하였습니다.
감사합니다. ;-)