본문 바로가기
ETC

convert project java -> gradle -> springboot

by DanteMustDie 2023. 11. 25.
728x90

일반 자바 프로젝트를 gradle 프로젝트로 변환하는 작업 후 springboot 프레임워크 추가하는 과정을 정리 한 글.

여기 일반 자바 프로젝트가 있다. 프로젝트 루트에 build.gradle 파일을 "생성"하자. 여기서 생성은 [ 프로젝트 우클릭 -> 새 파일 -> 파일 ]  을 말한다. 생성하고나면 아래와 같은 알람이 나온다.

여기서 gradle 프로젝트 로드를 누르면 gradle 프로젝트로 인식을 한다. github를 운용하고있다면, git 파일 추가도 같이 해주어야commit push 할 때 같이 업로드가 이루어진다. 이제 이 깡통 build.gradle 파일에 내용을 채워줘야한다.

intelliJ에서 default로 guide 해주는 소스는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
plugins {
    id 'java'
}
 
group 'org.example'
version '1.0-SNAPSHOT'
 
repositories {
    mavenCentral()
}
sourceSets {
    main {
        java {
            srcDirs = ['src']
        }
    }
}
dependencies {
    compile 'junit:junit:4.12'
}
cs

여기서 group는 현재 사용중인 프로젝트의 패키지에 맞추어 변경해주고, version은 원한다면 알아서 변경하면 된다. 

respositories는 라이브러리 추가시 어느 저장소에서 가져 올 것인가?를 지칭하는 것인데, 여기서는 mavenCentral을 사용한다고 명시 된 것이다.

sourceSets는 지정한 group의 패키지에서 어느 곳이 main인 것인지를 지칭한다.

dependencies는 프로젝트에서 사용 할 라이브러리들을 추가하는 공간이다. maven은 xml로 관리되어 각각 태그를 양식에 맞춰 넣어줘야 하지만, gradle은 그 부분이 한줄로 끝난다.

라이브러리들 현황은 https://mvnrepository.com/ 이곳에서 확인.

대충 프로젝트에 필요한 최소한의 라이브러리만 먼저 추가를 했다.

필요에 따라 gradle 홈 디렉토리를 별도로 지정한다. 프로젝트와 동일한 위치에서 사용 할 경우, 프로젝트 폴더가 지저분해지므로 나는 따로 빼서 쓴다.

코드 추가를 한뒤 빌드를 하면 gradle daemon이 돌면서 빌드를 하는데, Unsupported class file major version 65 에러가 발생 할 수도 있다. 이는 프로젝트의 jdk 와 gradle에서 가져다 쓰는 jdk 버전이 맞지 않아서도 발생하고, jdk버전이 21일 경우 gradle이 해당 jdk를 완벽히 지원하지 않아서 발생하는 문제로, jdk를 다운그레이드 하거나 아래와 같은 작업으로 진행한다.

그 다음 gradle의 종속성 새로고침을 수행하면 필요한 라이브러리를 자동으로 다운받게된다.

마지막으로 build successful이 뜨고 gradlew가 생기면 끝.

스프링부트 embeded 톰캣 사용은 기존 프로젝트 생성시 생기는 @SpringBootApplication 애노테이션을 활용한SpringApplication.run을 쓰면되고, 애노테이션 관련 인지 에러가 발생할경우엔 프로젝트 스트럭쳐에서 종속요소를 확인한다.(추가되어있어야함.)

 

ref :: https://www.jetbrains.com/help/idea/gradle.html#convert_project_to_gradle

 

Gradle | IntelliJ IDEA

 

www.jetbrains.com

https://persestitan.tistory.com/118

 

[IntelliJ] 인텔리제이 Unsupported class file major version 65 에러 (+ jdk 21)

Java 21로 올리고 나서 Unsupported class file major version 65와 같은 에러가 발생했습니다. 해당 에러는 Gradle에서 빌드하는 자바 버전이 현재 버전과 일치하지 않아서 발생하는 에러입니다. 보통 해결 방

persestitan.tistory.com

 

반응형