intellij Java gradle 개발환경 셋팅하기

2022-10-02

.

Data_Engineering_TIL(20221002)

[참고자료]

패스트캠퍼스 “한번에 끝내는 데이터 엔지니어링” 강의를 공부하고 요약한 내용입니다.

URL : https://fastcampus.co.kr/data_online_engineering

[강의내용]

STEP 1) intellij 커뮤니티 버전 설치

먼저 웹브라우저에서 https://www.jetbrains.com/ko-kr/idea/download/#section=mac 에 접속해서 intellij 툴을 다운로드 받는다.

실습환경이 apple m1 칩이기 때문에 이에 맞는 툴을 다운로드 받아서 설치한다.

STEP 2) intellij 프로젝트 생성

intellij를 실행하면 웰컴투 인텔리제이 라는 화면이 뜨는데 이때 New Project 아이콘을 클릭한다.

그리고 아래의 옵션을 지정

1 ) Name : minman_test

2 ) Location : 그냥 디폴트 경로로 해도되고 임의로 바꿔줘도 됨.

3 ) Language : Java

4 ) Build system : Gradle

빌드시스템은 내가 개발한 자바 코드를 어떤 형태로 가공할건지를 선택하는 것임. 자바는 코드 자체로 실행되는게 아니라 코드를 빌드한 결과를 실행하는 방식임. 빌드한 결과물이 실행파일인 경우도 있고 압축파일인 경우도 있음. 아무튼 내 코드를 사용할수 있는 형태로 만드는 시스템을 빌드시스템이라고 함.

5 ) JDK : zulu 1.8.0_345 선택

6 ) Add sample code 체크박스는 해제

7 ) Gradle DSL : Groovy 선택

8 ) Advanced Settings –> Groupid : com.minman.de

그룹아이디는 우리가 보게될 패키지의 이름이나 빌드의 결과물 파일 이름 등에 사용된다.

그런 다음에 create 아이콘을 눌러서 생성해준다.

STEP 3) 프로젝트 화면 셋팅 및 폴더별 설명 확인

좌측상단에 minman_test 폴더 하위에 보면 먼저 build.gradle 이라는 file과 settings.gradle 이라는 file이 보일것이다.

maven 은 pom.xml 을 사용하는 것과 대조적이다.

  • settings.gradle

settings.gradle를 열면 아래와 같을 것이다. settings.gradle을 통해서 프로젝트가 어떻게 구성되어 있는지 파악하게 된다. root 경로 하위에 여러 폴더를 생성하고 여러개의 프로젝트를 구성하는 경우 settings.gradle에 여러 프로젝트를 명시해서 사용할 수 있다.

rootProject.name = 'minman_test'

root 디렉토리에서 가장먼저 읽는 file이다.

  • build.gradle

build.gradle를 열면 아래와 같을 것이다. settings.gradle에 명시된 프로젝트의 코드들을 어떤 스텝으로 실행하는지, 어떤 라이브러리를 이용하는지, 실행 결과물은 어떻게 할건지에 대한 내용을 명시하는 설정파일이다.

아래에 보면 repositories에 mavenCentral()이라고 명시되어 있는데, 자바 라이브러리를 가져올 원격저장소가 maven central이라는 것을 설정한 것이다. maven central은 전세계 누구나 접근할 수 있는 maven의 기본 레포지토리를 말한다. 웬만한 오픈소스 라이브러리들이 다 있다

plugins {
    id 'java'
}

group 'com.minman.de'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}

test {
    useJUnitPlatform()
}

그리고 gradle 프로젝트의 root 디렉토리에는 gradle이라는 폴더가 있는데 거기 안에는 wrapper라는 폴더가 있을것이다. 거기 안에는 gradle-wrapper.jargradle-wrapper.properties 라는 file이 저장되어 있을 것이다.

gradle-wrapper라는 것은 PC에 gradle이 설치가 되어 있지 않아도 gradle을 실행할 수 있게 해주는 프로그램이다.

  • gradle-wrapper.properties

gradle을 몇버전을 쓰는지 명시가 되어 있는 설정파일이다.

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

root 디렉토리에 빨간색 폴더 아이콘으로 .gradle 이라는 폴더도 보이는데 .gradle 하위에 file들은 gradle을 실행하기 위한 file들이라고 보면 된다.

root 디렉토리에 gradlew, gradlew.bat 이라는 file도 보이는데 이 file들을 통해서 gradle을 다운로드하지 않고도 gradle을 실행할수 있다. gradlew는 맥이나 유닉스 계열에서 사용하는 file이고, gradlew.bat은 윈도우즈 계열에서 사용하는 file로 이해하면 된다.

그리고 src 폴더가 있는데 거기 안에는 main, test 폴더로 나뉘어져 있다. 그리고 그 폴더들의 하위에는 java와 resources 폴더가 보일것이다. 이 형태는 maven과 동일한 형태이다.

STEP 4) Main.java 소스코드 실행해보기

minman_test –> src –> java –> Main.java 파일을 생성하고 아래와 같이 작성해보자.

public class Main {
    public static void main(String[] args){
        System.out.println("Hello world!");
    }
}

그런 다음에 코드 바로 좌측에 초록색 화살표를 누르고 Run 'Main.main()'을 클릭해서 실행해보자.

그러면 Main.java 파일이 빌드가 되고 난후 아래와 같이 프린팅 되면서 실행이 된다.

어떤 gradle task를 수행했는지, Main.main() 실행결과가 어떤지 출력이 된다.

7:59:59 PM: Executing ':Main.main()'...

> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :Main.main()
Hello world!

...

그리고 좌측상단에 빨간색 폴더 아이콘으로 build 폴더가 생성이 되었을 것이다.

maven은 target 폴더 하위에 실행결과 file들이 생성된다고 하면 gradle은 build 디렉토리 하위에 빌드 결과 file들이 생성된다고 이해하면 된다.