억대 연봉을 위한 인간수업
article thumbnail
반응형

1. Java Build System

Java로 개발을 하기 위해서 여러 프로그램을 사용하게 된다. 대표적으로 Eclipse, Intellij, Visual Studio code 등이 있다.

 

원래 예전에는 이클립스를 많이 사용했던 걸로 기억하나, 이클립스는 신규 버전에서 에러가 많이 발생하는 이유로 최대한 업데이트를 하지 않고 사용하거나, IntelliJ나 vscode, Visual Studio 등을 많이 사용한다. 이런 개발 툴에서 자바 프로젝트를 생성할 때 build system도 함께 선택해 줘야 한다. 주로 내가 사용하는 IntelliJ에서는 프로젝트 생성 시 build system으로 IntelliJ, Maven, Gradle 중 선택이 가능하다.

 

현존하는 build system은 4가지가 존재한다.

1. 개발 툴에서 자체적으로 지원하는 시스템(ex: IntelliJ, eclipse build 등)
2. ANT(현재는 거의 사용 안 함)
3. Maven
4. Gradle

중요한 점은, 현재 진행 중인 프로젝트는 99.9%가 Gradle을 사용한다는 것이다!

만약 어떤 회사에서 이클립스 빌드나 ANT를 사용 한다?그럼 run해야 된다는 말이 있을 정도이다...

 


 

2. Spring boot

Spring boot는 Spring을 더 쉽게 이용하는 도구로, 매우 간단하게 프로젝트를 설정할 수 있게 도와주는 도구이다.

Spring은 자바의 개발을 쉽게 해주는 프레임워크 즉, 자바의 기본 뼈대라 할 수 있다(자동차의 프레임 같은 느낌)

 

현재 Spring boot는 2와 3가 있으며, 3의 경우 2023년 3월 기준 출시한 지 4개월밖에 되지 않았다. 현재 Spring boot 2를 사용하는 데 있어서 java 1.8은 많이 사용하지 않고 있으며, java 11을 많이 사용한다. 그리고 Spring boot 3을 사용하려면 java의 최소 버전은 17을 사용해야 한다.

 

일단 IntelliJ에서 새 프로젝트 생성 시 JDK에서 특정 버전의 JDK를 선택하기 위해선, Download JDK를 통해 특정 JDK 버전을 다운받거나 맥을 사용하는 경우 brew 명령어를 통해 JDK를 다운로드 한다.

 

 

3. IntelliJ와 Gradle build 사용 차이

IntelliJ와 Gradle 사용은 프로젝트의 사이드에서 부터 차이가 난다. 왼쪽이 IntelliJ, 오른쪽이 Gradle

 

일반적으로 소스에서 권장하는 형태는 src > main > java이다. 이 형태를 유지하고 개발을 진행하면 된다.

 

 

4. build 방법

프로젝트를 생성하고 잠시 기다리면 아래처럼 프로젝트가 자동 생성되는데 [build.gradle]과 [settings.gradle]로 프로젝트를 관리한다. build.gradle은 프로젝트 설정 파일을 관리하고, settings.gradle은 전체 설정을 관리한다. 그리고 중간에 gradlew가 있는데 이건 bash script이며, 콘솔에서 빌드할 때 이걸 사용한다.

 

사용 방법은 IntelliJ의 터미널에 들어가서 ./gradlew build를 입력하여 실행할 수 있다. 참고로 터미널은 맨 아래 화면에 존재한다.

./는 현재 프로젝트 위치에 존재하고 있으므로 현재 위치에서 build 한다는 의미이며, build를 한번 해주면 프로젝트 창에 build > libs에 ~.jar파일이 생성된 걸 확인할 수 있다.

 

이 jar 파일로 build 하려면 터미널 창에 [java -jar ./build/libs/test..~.jar]를 입력하여 빌드할 수 있다.

그런데?? manifest 파일이 없거나 startup class 지정하거나 만들지 않은 경우 아래와 같이 빌드가 되지 않을 수도 있다.

 

이런 경우 manifest 파일을 만들어 주거나 startup class를 지정해주면 된다. 

 

지정 방법은 프로젝트의 build.gradle에서 jar{manifest {Attributes'Main-class':'패키지 클래스명'}}을 입력하여 해결할 수 있는데, 혹시 패키지 명을 모르는 경우는 src > main > java > org.example > Main으로 들어가면 1번 라인에 package 뒷부분을 가져와 스크린 샷처럼 입력하면 된다.

 

특히 jar 파일을 콘솔 창에서 실행하려면 아래 코드는 build.gradle 파일에 반드시 들어가 있어야 한다.

jar {
    manifest {
        attributes "Main-Class": "org.example.Main"
    }
}

 

 

그리고 build를 수정하게 되면 화면에 코끼리 모양의 버튼이 나타나는데, 이걸 눌러서 refresh 해 줘야 적용이 된다.

여기까지 한 뒤에 다시 터미널 창에서 ./gradlew build -> java -jar ./build/libs/~..jar을 입력해보면 build가 가능한 것을 확인할 수 있다.

 

 

정리

1. ./gradlew build 입력
2. java -jar ./build/libs/~..jar 입력
3. 안될 경우 manifest 파일 확인 또는 startup class를 지정한뒤 빌드와 jar 파일 실행

 


 

 

gradle은 테스크 기반으로 관리를 하는데 몇 가지 중요한 테스크가 존재한다. 프로젝트 맨 오른쪽 화면을 보면 [Gradle]이라는 녀석이 있는데 여기서 테스크를 확인할 수 있다. 테스크 중에선 build를 많이 사용하고, verification에 가면 생성한 프로젝트(ex:test)가 존재한다. 

 

 

 

 

 

 

 

반응형

'Develop > Java' 카테고리의 다른 글

롬복(Lombok) 이란?  (0) 2023.04.02
[IntelliJ] Gradle - Lombok 설치방법 (Macbook)  (0) 2023.03.27
JAVA 디자인 패턴  (0) 2023.03.19
실무에서 쓸 수 있는 Java 코딩 팁 모음  (0) 2022.10.25
java 기본 구조  (0) 2022.10.09
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.