꾸준한 개발일기

IntelliJ:: 인텔리제이 커뮤니티에서 프로젝트 생성하기(Gradle로 생성, Springboot 프로젝트로 설정) 본문

Programing/스프링

IntelliJ:: 인텔리제이 커뮤니티에서 프로젝트 생성하기(Gradle로 생성, Springboot 프로젝트로 설정)

꾸개일 2022. 5. 22. 20:24
반응형

인텔리제이를 사용하여 스프링 프로젝트를 진행해보기로 했다. 먼저 인텔리제이를 설치했고 프로젝트를 만드는 방법을 정리해보려한다. 

 

인텔리제이는 이클립스의 워크스페이스 같은 개념이 없고 프로젝트모듈의 개념만 있다. 그렇기 때문에 한 화면에서는 하나의 프로젝트만 열리고 모든 프로젝트를 한 번에 불러올 수 없다. 이점을 주의하여야 한다.

 

 

 

New-Project

새로운 프로젝트를 생성한다.

 

 

 

Gradle-Java

프로젝트는 그레이들로 생성해준다. Next 클릭

 

 

 

프로젝트명과 위치 지정

프로젝트명과 위치를 지정해주었다. 

 

 

 

그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기

buildscript {
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.jojoldu.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

플러그인 의존성 관리 설정을 위한 build.gradle 파일에 위 코드를 복사 붙여넣기를 해준다.

 

 ext:

 build.gradle에서 사용하는 전역변수 설정한다. 여기서는 springBootVersion 전역변수를 생성하고 그 값을 지정하겠다는 의미이다.

 

apply plugin:

 앞서 선언한 플러그인 의존성들을 적용할건지 결정하는 코드이다. 여기 네 가지 플러그인은 필수 플러그인들이다.

 io.spring.dependency-management 플러그인은 스프링 부트의 의존성들을 관리해주는 플러그인으로 필수로 추가한다.

 

repositories:

 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지를 지정한다.

 mavenCentral은 이전부터 많이 사용하는 저장소이지만, 본인이 만든 라이브러리를 업로드하기 위해서는 정말 많은 과정과 설정이 필요하다. 

 jcenter은 최근에 나와 mavenCentral의 문제점을 개선하여 라이브러리 업로드를 간단하게 한다. 또한, jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드 될 수 있도록 자동화 할 수 있다.

 

dependency:

 프로젝트 개발에 필요한 의존성들을 선언하는 곳이다. 의존성 코드는 특정버전을 명시하지 않고 맨 위에 springBootVersion을 따라가 라이브러리들의 버전 관리가 한 곳에 집중되고 버전 충돌 문제도 없도록 한다.

 

 

 

오른쪽에 코끼리 모양을 클릭해주면 그레이들 설정 변경이 반영된다.

 

 

 

 

 

참조: 스프링 부트와 AWS로 혼자 구현하는 웹서비스 - 이동욱 지음 (프리렉)

반응형
Comments