본문 바로가기

Groovy & Grails

[Grails] Grails 설치 및 테스트 app 기동

오늘 회사에서 현기형이 갑자기 "아! 아무래도 루비를 공부해야겠어!" 라고 한탄(?)을 하셨다.

이유를 여쭤보자 프로토타입을 개발하는데 이걸 자바로 하려니 셋팅하고, JPA에서 DB 스킴이 하나 바뀌면

어노테이션을 하나하나 다 바꿔주고 있는게 짜증난다고 하셨다. ㅋㅋ 프로토타입 웹앱 개발은 좀 빠르게..  특히!!! active record pattern을 사용할 수 있었으면 좋겠고... 정말 애자일스럽게 해야겠다고 하시면서... ROR을 스터디하자고 하셨는데, 빌리형께서 ROR은... 너무 훅 갔으니까 다른건 어떨까요? 라고 말씀을 하시면서.. 물망에 오른..


django, grails, play .... 이중 하나를 골라 팀스터디를 해보기로 했다. 물론 각자 조금씩 공부해보고..

의견을 모아보는것으로..


나는 그중에.. 최근에 공부했던게 groovy라 우선 이걸 try 해보기로.... 목표는 간단한 crud를 만드는 것이지만...

일단 설치 및 IDE 셋팅, 그리고 테스트 페이지 띄우는걸 해보며 정리해본다.


JAVA는 이미 설치가 되어있고 PATH에 잡혀있는 것으로 가정한다. 

export JAVA_HOME=$(/usr/libexec/java_home)


1. groovy 설치

 - 이 과정이 선행되어야 하는지는 잘 모르겠으나 (grails에 포함되어 있을지도 모르겠음...), 일단 내 Mac에는 설치가 되어있었다. 

 - http://groovy.codehaus.org/에서 다운로드 받는다. 

 - 내가 받은 버전은 2.1.7

 - .bash_profile에 GROOVY_HOME설정 후 export


2. grails 설치

 - http://grails.org/ 에서 다운받는다.

 - 최신버전은 2.3.0이지만, 2.2.4 버전을 다운받자.

 - 이유는 다음단계에서 springsource에서 제공되는 Groovy & Grails Tool Suite을 설치할텐데 이 GGTS의 버전이 3.3.0이고 grails 2.3.0에서는 groovy compile 에러가 발생한다.

 - .bash_profile에 GRAILS_HOME 설정 후 export


2번까지만 진행해도 console에서 테스트 페이지를 띄울 수 있다. 아래와 같이 해보자.

1) grails create-app test

     Created Grails Application at /Users/need4spd/Programming/grails/grails-2.3.0/test

2) cd test

3) grails run-app

4) | Compiling 10 source files

    | Compiling 130 source files

    | Server running. Browse to http://localhost:8080/test

5) web browser에서 위 url로 접근

6) grails-app/views/index.gsp 페이지가 열린다.


3. Groovy & Grails Tool Suite 설치

 - http://www.springsource.org/downloads/sts-ggts 에서 download

 - version은 3.3.0

 - MAC OSX용 dmg를 받아서 install


여기까지만하면 이제 테스트를 해볼준비가 되었다. GGTS를 실행하면 workspace를 설정하라고 나온다. 편한대로 설정하자. 그러면 아래와 같은 화면이 나올것이다.




1) File -> New -> Grails Project 선택


2) 그러면 아래와 같은 화면이 나오는데, 처음에는 grails configuration이 되어있지 않을것이므로, 아래 링크를 클릭하여 grails홈을 설정하여준다. 앞서 언급한대로 2.2.4 버전으로 설정해주면 된다.


3) grails 설정화면



4) 프로젝트명을 입력하고 grails프로젝트를 생성한다. 여기서는 testapp으로 이름을 지었다. 


5) 프로젝트가 생성된 화면



6) 여기까지가 console에서 grails create-app testapp 이랑 비슷하다고 보면 될것 같다. 


7) 서버를 기동하여 index.gsp 페이지를 띄워보자. 우선, 아래의 버튼을 클릭한다.



8) 그러면 command를 입력 할 수 있는 작은 창이 뜬다. 여기서, 프로젝트를 testapp으로 선택하고 run-app이라고 친 후 enter를 치면, 서버가 기동된다.



9) 테스트 페이지 접근 (http://localhost:8080/testapp)



10) controller를 만들어보자. 다시 console을 띄워 다음의 명령어를 입력한다.

"create-controller com.tistory.devyongsik.Hello"


11) cotroller가 아래와 같이 생성되었다.



12) 코드를 아래와 같이 입력하자.



13) https://localhost:8080/testapp으로 다시 접근해보면 새로 생성한 controller 리스트가 보인다. 물론 별도의 재기동 절차는 필요없다.



14) 화면의 contoller를 클릭하면 아래와 같은 화면이 나타난다.

url을 보면 http://localhost:8080/testapp/hello/index로 되어있다. testapp은 프로젝트명이고 (app이름) hello는 controller의 prefix이다. 그리고 index는 Controller에 정의한 index() 메서드이다. 음? 그렇다면? 그렇다.. url을 

http://localhost:8080/testapp/hello/testPage로 접근해보면.... 



이렇게 나온다.


다음엔 CRUD를 공부해야겠다... grails.. 근데 국내 서적이 없다.. ;;;;;;