들어가기 전에
하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다.
IntelliJ IDEA community에서 springboot 프로젝트 생성하기
New Project를 클릭하여 프로젝트를 생성합니다. 이때, 빌드 관리 도구로는 Gradle을 사용할 것이므로 Gradle을 선택하고, Java를 체크하여 Next를 눌러줍니다.
다음 페이지에서는 프로젝트 이름과 생성될 경로를 지정해줍니다. 필자의 경우 하기 사진과 같이 지정하였습니다.
- ArtifactId의 경우 프로젝트의 이름이라고 보면 됩니다.
build.gradle 파일 수정하기
프로젝트 생성 후 build.gradle 파일을 확인하면, 아래와 같이 plugins에 java만 등록된 프로젝트임을 알 수 있습니다.
build.gradle에 몇 가지 설정을 추가하여 springboot에 필요한 설정을 진행해보겠습니다. 스프링 이니셜라이저(https://start.spring.io/)를 사용하면 손쉬운 설정이 가능하지만, build.gradle의 의미파악이 어려우므로 이번 포스팅에서는 직접 설정을 추가해보도록 하겠습니다.
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.earth.study'
version '1.0-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
- buildscript 부분은 build.gradle 맨 위에 위치하면 됩니다.buildscript는 빌드하는 동안 필요한 처리를 모아두는 곳으로,dependencies와 repositories,ext가 포함될 수 있습니다.
- ext라는 키워드는 build.gradle에서 사용할 전역 변수를 설정합니다.
- ext는 주로 multimodule에서 주로 사용됩니다.
- 여기서는, springBootVersion을 변수화하여, build.gradle 내에서 사용하겠다는 것을 의미합니다.
- ext를 통해 버전 변수를 관리하게 되면 각 라이브러리들의 버전 관리가 한 곳에 집중되어 버전 충돌 문제를 방지할 수 있습니다.
- repositories는 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지를 정합니다.
- mavenCentral()이 가장 기본적으로 사용되는 저장소이지만, 라이브러리를 업로드하기 위해 많은 과정이 필요하여 개발자가 점점 공유를 안 하게 되었습니다.
- jcenter()는 mavenCentral()의 문제점을 개선하여 라이브러리 업로드를 간단하게 하였습니다. 또한, jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드될 수 있도록 자동화를 할 수 있습니다.
- ext라는 키워드는 build.gradle에서 사용할 전역 변수를 설정합니다.
- apply plugin 부분은 추가할 플러그인들을 넣어주면 됩니다. 현재는 4가지 플러그인을 적용했는데, 이는 자바와 스프링 부트를 사용하기 위한 필수 플러그인이므로 항상 추가하면 됩니다.
- io.spring.dependency-management는 스프링 부트의 의존성을 관리해주는 플러그인입니다.
- dependencies는 프로젝트 개발에 필요한 의존성들을 선언하는 곳입니다. dependencies에 필요한 라이브러리를 기술하면 그 라이브러리를 참조할 수 있습니다.
- implementation / testImplementation
- 컴파일할 때에는 implementaion에 지정한 라이브러리를, 테스트를 컴파일할 때는 testImplementation에 지정한 라이브러리에 지정할 수 있습니다.
- compileOnly / runtimeOnly
- compileOnly는 컴파일 시에만 사용하는 라이브러리(빌드 결과물에 포함X - runtime시 필요하지 않는 라이브러리)이며, runtimeOnly는 런타임시에만 사용한다는 의미입니다.
- compile
- A 모듈을 수정할 경우 해당 모듈을 직/간접적으로 의존하는 모든 모듈이 recompile됩니다.
- 위처럼 buildscript에서 버전 관리를 진행할 경우 dependencies에는 따로 버전을 명시하지 않아야 합니다.
- 버전을 명시하지 않아야 buildscript 내 dependencies를 통해 버전을 따라가게 됩니다.
- 이렇게 관리하면 각 라이브러리들의 버전 관리가 한 곳에 집중되고, 버전 충돌 문제도 해결할 수 있습니다.
- implementation / testImplementation
위 설정이 완료되면, 아래 사진 속 빨간 네모를 클릭하여 Gradle을 refresh해주어야 합니다.
IntelliJ에 Git과 Github 사용하기
Git 설치하기
먼저 git-scm.com/ 사이트에 접속하여 Git을 설치합니다. 필자의 경우, mac을 사용하였기 때문에 homebrew 명령어를 이용하여 설치하였습니다. 설치가 정상적으로 된 경우, git version 명령어를 통해 git 설치 여부를 확인할 수 있습니다.
Git 설치가 완료되었으므로, 초기설정을 진행하겠습니다. terminal을 열고, 아래 명령어를 넣어 초기설정을 하면 됩니다.
- git config --global user.name "Your Name"
- Git에 가입할 때 넣은 닉네임을 적어주었습니다.
- git config --global user.email "Your Email"
- Git 가입시 사용한 이메일을 넣어줍니다.
설정이 완료되면, git config --list 명령어를 통해 설정된 내용을 확인할 수 있습니다.
IntelliJ에 Git 연동하기
설치한 git을 intelliJ에 연동하기 위해서는, 아래와 같이 Preferences를 수정해야 합니다. 해당 창은 상단의 IntelliJ IDEA > Preferences를 클릭하면 확인할 수 있습니다.
맥 터미널 창에서 which git 명령어를 사용하면, git 설치 경로를 알 수 있고 해당 경로를 하기와 같이 넣어주고 Apply, OK를 진행하면 Git 설정이 완료됩니다.
IntelliJ에 GitHub 연동하기
이제, GitHub 연동을 해보도록 하겠습니다. git 설정과 같이, preferences 창에서도 가능하지만, 아래와 같은 방법으로도 진행할 수 있습니다.
* 하기 내용은 Github(https://github.com) 계정이 존재한다는 가정하에 진행합니다.
먼저, IntelliJ에서 단축키로 Command + Shift + A를 눌러 Action 검색창을 열어 share project on github을 검색합니다.
- Windows의 경우 Ctrl + Shift + A를 눌러줍니다.
위 사진처럼 Action 창에서 share project on github을 검색하면, 먼저 github에 로그인하라는 창이 뜹니다. 필자의 경우 이미 로그인이 되어 있어 로그인 창이 뜨지 않은 채 넘어갔지만, 로그인창이 뜬다면 로그인을 해주면 됩니다.
위 사진 중 가장 오른쪽 사진에서 체크된 6가지 항목에 대해서만 먼저 커밋합니다.
- .idea 디렉토리의 경우는 IntelliJ에서 프로젝트 실행시 자동으로 생성되는 파일들이기 때문에, github에 올릴 필요가 없습니다.
커밋할 파일들을 선택한 후 Add를 클릭하면 아래와 같이 커밋 완료창이 뜨고, 자신의 github에 들어가면, 아래와 같이 신규 레포지토리가 생성된 것을 확인할 수 있습니다.
.gitignore 사용하기
첫 커밋 시에는 수기로 하나하나 커밋 대상에서 제외할 항목을 선택해주었습니다. .idea 폴더의 경우 앞으로의 모든 커밋 대상에서 제외가 되어야 하기 때문에 .gitignore 파일을 사용하여 커밋 대상에서 제외하도록 하겠습니다.
- .gitignore: git에서 특정 파일 혹은 디렉토리를 관리 대상에서 제외할 때 사용합니다.
먼저, .ignore를 설치해보겠습니다. .ignore가 지원하는 기능은 다음과 같습니다.
- 파일 위치 자동완성
- 이그노어 처리 여부 확인
- 다양한 이그노어 파일 지원(.gitignore, .npmignore, .dockerignore 등)
인텔리제이에서 단축키로 Command + Shift + A를 눌러 Action 검색창에서 plugins를 검색합니다. 그 후 Plugins를 클릭하여 Marketplace 탭에서 .ignore를 찾아 설치해줍니다.
.ignore 플러그인 설치가 완료되면, 반드시 재시작을 해주어야 합니다. 그래야 새로 설치한 플러그인이 적용됩니다.
재시작이 되었다면 이그노어 파일을 생성해보도록 하겠습니다.
이그노어 파일을 생성하기 위해서는 먼저 프로젝트를 클릭한 후 Command + N을 클릭하여 New 항목을 띄워야 합니다. 그 후 .ignore File > .gitignore File(Git)을 선택합니다.
지금은 .ignore 파일을 처음 만드는 것이므로 기존 템플릿이 존재하지 않아 바로 generate을 눌러줍니다.
생성된 이그노어 파일에는 아래와 같이 작성해줍니다. 작성 후, Command + K를 누르면 아래 왼쪽 사진과 같이 커밋창을 확인할 수 있습니다. 커밋이 완료되면 Command + Shift + K를 눌러 push를 할 수 있습니다.
- ignore에 넣어야 할 항목들은 하기 왼쪽 사진을 참고하면 됩니다.
위 과정까지 완료되면, 개발 환경 설정이 끝난 것입니다. 다음 포스팅에서는 테스트코드에 대해 알아보도록 하겠습니다.
IntelliJ와 Git 사용 TIP
IntelliJ에서 푸시한 author를 변경하고자 하는 경우(amend)
기존에 푸시한 author나 커밋 메시지를 수정하고자 할 때에는 amend를 체크한 후, 시계 모양을 클릭하여 커밋 메시지 히스토리를 하나하나 확인하면서 변경할 사항을 찾아 수정한 후 Amend Commit 또는 Amend Commit and Push를 할 수 있습니다.
이때, author를 변경하고자 한다면, Amend 옆의 톱니바퀴를 누르면 됩니다.
끝내며
현재 build.gradle 파일은 책을 토대로 진행하는터라, 굳이 하지 않아도 될 설정이 존재합니다. 따라서, 책 진도를 모두 나간 후에는 build.gradle을 하나씩 바꿔볼 예정입니다.
'DEVELOPMENT TOOLS > IntelliJ' 카테고리의 다른 글
[IntelliJ] JAVA Usages 표시하는 법 (0) | 2022.10.28 |
---|---|
[IntelliJ] LiveTemplate을 활용해서 test 메소드 쉽게 만들기 (0) | 2021.10.30 |
[IntelliJ, Git] 빨간색으로 뜬 파일들 Git에 push & commit하기 (0) | 2021.09.18 |
[IntelliJ, SpringBoot] 롬복 설치 및 사용해보기 (0) | 2021.04.22 |
[IntelliJ] IntelliJ IDEA 설치하기 (0) | 2021.04.13 |