이클립스에 maven-gae-plugin 셋팅하기

maven-gae-plugin 을 이용한 개발 환경 셋팅을 해보자.

환경은 다음과 같다.
eclipse 3.6(http://eclipse.org)
me2eclipse(http://m2eclipse.sonatype.org/)

목차
1. maven settings.xml 수정
2. maven-gae 프로젝트 생성
3. 배포/확인

시작
1. settings.xml(메이븐 셋팅 파일)을 다음과 같이 설정한다.

<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/settings-1.0.0.xsd">


  <localRepository>E:\egun-money\dev\repo</localRepository>

  <servers>
                <!-- 구글 App Engine 서버 id 및 계정 설정 -->
    <server>
      <id>appengine.google.com</id>
      <username></username><!-- 구글 App Engine 계정 id ex ) egunmoney@gmail.com -->
      <password></password><!-- -계정 비밀번호 -->
    </server>
  </servers>

  <profiles>
    <profile>
      <id>dev</id>
      <repositories>
                                <repository>
          <id>maven-gae-plugin-repo</id>
          <name>maven-gae-plugin repository</name>
          <url>http://maven-gae-plugin.googlecode.com/svn/repository</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>maven-gae-plugin-repo</id>
          <name>maven-gae-plugin repository</name>
          <url>http://maven-gae-plugin.googlecode.com/svn/repository</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>
</settings>

2. 프로젝트 생성

2.1 새로운 Maven 프로젝트를 생성한다.


2.2 Add Architype 버튼을 눌러 새로운 Architype을 추가한다. (한번만 하면 됨)

2.3 maven-gae-plugin 에서 제공하는 Architype을 추가한다. (maven-gae-plugin은 3가지 형태의 아키타입을 지원한다. 일반적인 jsp형태, gwt형태, Wicket형태가 그것인데 아래 화면은 일반적인 jsp 형태를 추가하는 모습이다.)

  • repository URL : http://maven-gae-plugin.googlecode.com/svn/repository

2.4 앞절(2.3)에서 등록한 architype을 선택한다 .(화면은 jsp형태를 선택)

2.5 생성할 프로젝트의 속성을 입력한다. 일반 maven 프로젝트와 달리 화면에 보이는 속성 모두를 입력한다. 속성 설명을 다음과 같다.

  • gaePluginVersion은 maven-gae-plugin의 버전을 칭한다.
  • gaeApplicationName은 구글 app engine에 생성한 애플리케이션 명을 칭한다.
  • gaeApplicationVertion은 구글 app engine에 생성한 애플리케이션 버전을 칭한다.
  • name은 프로젝트 명으로 pom.xml에 추가한다.(add 버튼으로 추가해야 함)
  • description은 프로젝트 설명을 pom.xml에 추가한다.(add 버튼으로 추가해야 함)

위의 속성중 name, description이 없으면 올바른 프로젝트가 생성되지 않는다.

2.6 프로젝트가 생성되면 자동으로 만들어주는 JDO 관련 소스를 모두 지우고 index.html 을 수정하여 HelloWorld를 출력하도록 한다.

2.7 마지막으로, pom.xml에서 maven-gae-plugin 부분을 다음과 같이 수정한다.

<plugin>
  <groupId>net.kindleit</groupId>
  <artifactId>maven-gae-plugin</artifactId>
  <version>0.6.0</version>
  <configuration>
    <serverId>appengine.google.com</serverId>
  </configuration>
</plugin>

2.8 컴파일 에러등의 빌드 오류 요소들이 모두 제거 되었으면 gae:deploy 명령어를 이용해 배포한다.
브라우저를 이용해 원하는 화면(여기서는 Hello World!)가 출력되면 ok.

참고

<%@page isELIgnored=”false” %> 사용하지 않고 EL 사용하기

JSP 페이지를 작성할때, EL(Expression Language)을 많이 사용한다. 간간히 처음 JSP를 만들고 EL를 적용했을때 화면에 원하는 EL의 정보가 출력되지 않은 경우가 있었는데, 그때마다 JSP 페이지 제일 위에 요걸(<%@page isELIgnored=”false” %>) 넣어 주었다. 하지만, 모든 페이지에 적용하다보니 석연치 않은 부분이 있었는데, 검색해보니 해답이 있긴 하더라.

web.xml파일에서 <web-app 부분을 아래와 같이 수정한다. (2.5버전으로)

<web-app
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 id="WebApp_ID" version="2.5">
 <!-- something to do -->
</web-app>

아래의 문서를 보니 j2ee5, j2ee6에서 사용하는 web descriptions version이 다른것을 확인수 있는데, 이것이 문제였던 것 아닐까 한다.

참고 : Java EE : XML Schemas for Java EE Deployment Descriptors (http://java.sun.com/xml/ns/javaee/)

좋아했던 음악들

가끔 연예인 소식이나 그들의 음악을 듣고 싶을때 들르는 파플즈(http://poplez.net)에 들른다. 오늘은 대학교 1학년때 친구가 들려줬던 스키드 로우 노래를 다시 듣게 되었는데.. 즐거웟던 옛 생각이 떠오르더라..

잠시 추억속에 들어가 보자…

Skid row – I Remember You

다음은, 군대 복학후 줄기차게 들었던 타투 노래.

타투 – Ya Soshia S”Uma(All the Things She Said…)

이건 요즘도 가끔 듣고 싶은 음악.

알렉스 – 화분

마지막으로 타루-여기서끝내자.

타루 – 여기서 끝내자

올리다 보니 슬픈 노래만 올렸네… 뭐 가끔은 감성적일 필요도 있으니까..