[Intellij] IntelliJ에서 Groovy 환경구성하기
ㅁ 개요
ㅇ nGrinder 부하테스트 환경을 구축 중에 Groovy로 테스트 스크립트를 작성하는 과정에서 Groovy 환경 세팅이 필요하였다.
ㅇ Intellij에서 groovy에 환경을 구축하는 방법에 대해 정리하고 테스트까지의 과정을 정리하였다.
ㅁ Groovy SDK 다운로드
brew install groovy
ㅇ Mac에서 brew를 이용하여 groovy를 설치하였다.
ㅇ 참조 페이지: https://groovy.apache.org/download.html#osinstall
ㅇ GROOVY_HOME=/usr/local/opt/groovy/libexec
# groovy 버젼확인
groovy --version
ㅇ groovy 버젼을 확인 하였다. 버젼언 4.0.3이다.
ㅁ Gradle Maven dependency 추가 방법
ㅇ 프로젝트에 Groovy dependency 추가하는 방법에 관한 표이다.
ㅇ 참조 페이지: https://groovy.apache.org/download.html#buildtools
Gradle | Maven |
Groovy versions 1.x to 3.x | |
org.codehaus.groovy:groovy:x.y.z | <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>x.y.z</version> |
org.codehaus.groovy:groovy-$module:x.y.z | <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-$module</artifactId> <version>x.y.z</version> |
org.codehaus.groovy:groovy-all:x.y.z | <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>x.y.z</version> <type>pom</type> <!-- required JUST since Groovy 2.5.0 --> |
Groovy versions 4.0+ | |
위와 같이 org.apache.groovy 대신 org.codehaus.groovy을 사용한다. | |
Gradle 6+ 인 경우 implementation 'org.codehaus.groovy:groovy-bom:x.y.z'. 대신 implementation platform('org.apache.groovy:groovy-bom:x.y.z') 을 사용한다. |
ㅁ Intellij에서 Groovy 프로젝트 만들기
1. 신규 프로젝트를 생성한다.
2. Create를 클릭하여 groovy 경로를 설정한다.
ㅇ Mac brew로 설치한 경우 groovy 경로는 /usr/local/Cellar/groovy/4.0.3_1/libexec/lib 이다.
ㅇ groovy library 4.0.3이 세팅되었고 next를 클릭한다.
3. 프로젝트 생성
ㅇ groovy_test 프로젝트를 생성한다.
ㅇ 초기 세팅된 프로젝트 모습이다.
ㅁ Groovy에서 Groovy Class 생성해 보기
ㅇ src 폴더에서 새로운 Groovy Class 생성을 한다.
ㅇ Groovy는 JVM에서 실행된다. 그래서 main을 선언하여 실행해야한다.
ㅇ println으로 hello groovy world를 출력해 보았다.
ㅇ 녹색 화살표를 클릭한다.
ㅇ Run을 클릭 할 수 있고 Ctrl+shift+F10으로 실행할 수 있다.
ㅇ console에 출력된 hellow groovy world를 확인하였다.
ㅁ 실행원리
ㅇgroovy를 재해석하여 class를 생성하여 class를 JVM에서 실행해주는 방식이다.
ㅇ groovy-> class로 변환된 것을 decompile 하여 보았다.
ㅁ 함께 보면 좋은 사이트
ㅇ Apache Groovy: https://groovy.apache.org/download.html#osinstall
ㅇ 참조 사이트
ㅇ Intellij Groovy: https://www.jetbrains.com/help/idea/groovy.html