Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[Groovy] Grape와 Grab - Maven dependency 사용하기 Computer & Program

node.js에 npm(Node Package Manager)이 있다면 groovy에는 Grape(The Groovy Adaptable Packaging Engine or Groovy Advanced Packaging Engine)가 있다. 간단하게 코드에 annotation 한 줄 적어주면 실행 시 dependency를 체크해서 받아온다.

MongoDB 라이브러리인 GMongo를 사용하는 예
@Grab(group='com.gmongo', module='gmongo', version='0.9.5')
import com.gmongo.GMongo


다른 repository에 있는 dependency를 가져올 때는 resolver 주소를 설정해 주면 된다.
@GrabResolver(name='restlet', root='http://maven.restlet.org/')
@Grab(group='org.restlet', module='org.restlet', version='1.1.6')


한 번에 여러개를 사용할 때는..
@Grapes([
    @Grab(group='commons-primitives', module='commons-primitives', version='1.0'),
    @Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='0.9.7')])


groovy는 java에 기반하고 있기 때문에 java의 Maven dependency를 가져와 사용할 수도 있다.
@Grab(group='org.springframework', module='spring', version='2.5.6')
import org.springframework.jdbc.core.JdbcTemplate


dependency 관리가 손쉽게 해결된다. 더 많은 옵션과 내용은 위의 groovy 사이트 문서를 참고..


자.. 여기서 궁금증!!
다운받은 dependency 파일들은 어디로 가는냐??
원래 Java의 Maven이라면 ~/.m2/repository로 저장이 되겠지만..
Grab을 사용하면 ~/.groovy/grapes 아래로 저장이 된다.

핑백

덧글

댓글 입력 영역

Google AdSense (text/image)