intellij Java maven 개발환경 셋팅하기

2022-09-24

.

Data_Engineering_TIL(20220924)

[참고자료]

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

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 : Maven

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

5 ) JDK : zulu 1.8.0_345 선택

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

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

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

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

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

좌측상단에 Project 클릭 –> Project Files 클릭

그러면 ~/IdeaProjects/minman_test 폴더 하위에 src 폴더와 pom.xml 파일 두개가 보일 것이다.

src 폴더는 말그대로 소스가 저장되는 폴더다. (별도로 소스코드 폴더 경로를 지정하지 않는 이상 src 폴더를 무조건 소스코드 저장 경로로 인식한다.)

그리고 만약에 maven이라는 빌드시스템을 사용한다면 여기서 pom.xml이 빌드관련된 기본적인 셋팅파일이다.

pom.xml이 따라서 프로젝트 폴더의 루트경로에 있다면 이 프로젝트는 메이븐 프로젝트이며 pom.xml 파일부터 읽어서 메이븐 시스템을 어떻게 사용하면 되는지, 이 프로젝트의 소스파일은 어떤거고 빌드 결과 파일은 어떤거고, 중간에 어떤 작업을 실행할수 있고 이런것들이 xml 파일에 정의가 되어 있다.

pom.xml 예시

<?xml version="1.0" encoding="UTF-8"?>
<project 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/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.minman.de</groupId>
    <artifactId>minman_test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

src 폴더 하위에는 main 폴더와 test 폴더로 나뉘어진다.

말그래도 main 폴더는 실제 배포할 소스코드가 저장되는 경로이고 test 폴더는 테스트를 위한 소스코드가 저장되는 폴더이다.

main 폴더 하위에는 java 폴더가 보이는데 자바로 개발하기 때문에 java 폴더라고 약속되어 만들어진것이다.

그리고 main 폴더 하위에 resources 라는 폴더가 보이는데 여기에는 소스가 아닌 파일이 저장되는 경로인데 실행하기 위해 필요한 파일들이 이 리소스 디렉토리에 저장한다.

반면에 test 폴더 하위에는 기본적으로 resources 라는 폴더가 없는데 resources 폴더를 별도로 생성해서 테스트할때만 특정 파일들을 참조하도록 할 수도 있다.

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

위와 같이 셋팅하여 프로젝트를 생성하면 기본적으로 아래에 경로에 main 소스코드가 생성된다.

src –> main –> java –> com –> minman –> de –> Main.java

Main.java는 아래와 같이 기본적으로 셋팅되어 있을것이다.

package com.minman.de;

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

좌측에 초록색 화살표를 클릭해서 Run 'Main.main()'을 클릭해서 실행해보자.

그러면 Main.java 파일이 빌드가 되고 난후 Hello world! 가 프린팅 되면서 실행이 되고 프로젝트 폴더 하위에 target 이라는 폴더가 생성된 것을 확인할 수 있다.

main.java 파일을 실행하면 pom.xml을 읽어서 빌드를 하게 되는데 빌드가 수행된 결과물이 이 target 파일 하위에 생긴다고 이해하면 된다. main.java를 빌드한 결과물이 target–> classes –> com –> minman –> de –> Main.class라는 file이다.