🌱 이번 장의 스터디 범위
- 인텔리제이를 비롯한 각종 IDE를 관리하는 툴박스 소개
- 인텔리제이의 설치와 기본 사용법
- mavenCentral, jcenter 비교
- 스프링 부트 프로젝트와 그레이들 연동 방법
- 인텔리제이에서 깃허브 사용하는 방법
🌱 인텔리제이 설치하기
- 젯브레인 툴박스 설치 : 젯브레인의 제품 전체를 관리해 주는 데스크톱 앱
- 툴박스를 이용한 인텔리제이 커뮤니티 버전 설치
- 인텔리제이 JVM 옵션 설정 : 인텔리제이를 실행하는데, 어느 만큼의 메모리를 할당할지를 결정
🌱 인텔리제이 커뮤니티에서 프로젝트 생성하기
- 인텔리제이를 실행할 때 모든 프로젝트를 한 번에 불러올 수 없으며, 한 화면에서는 하나의 프로젝트만 열림
- 테마 선택 - Darcula
- 단축기 설정 - Default
- 플러그인 선택 : 비활성화, 선택 플러그인 설치 가능
- 인텔리제이 프로젝트 생성
- Gradle을 선택해 프로젝트 생성
- GroupId와 ArrifactId 등록 : ArrifactId는 프로젝트의 이름
- Gradle 옵션 선택 : 기본 설정값
- 새로 만들 프로젝트의 디렉토리 위치 선택
- Gradle 기반의 자바 프로젝트 생성 완료
🌱 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
- build.gradle 파일 : 스프링 부트에 의존성 관리를 위해 필요한 설정 추가
- 커뮤니티의 경우 Gradle 5 버전이므로 compile, testComplie 대신 implementataion, testImplementation 사용
- Gradle 4 버전으로 다운그레이드 시 compile 사용 가능 : [Alt + F12] - './gradlew wrapper --gradle-version 4.10.2 '
// build.gradle 파일 전체 코드
// 프로젝트의 플러그인 의존성 관리를 위한 코드
buildscript {
ext { // build.gradle에서 사용하는 전역변수를 설정하겠다는 의미
/* springBootVersion 전역변수를 생성하고 그 값을 2.1.7.RELEASE로 함
즉, spring-boot-gradle-plugin 라는 스프링 부트 그레이들 플러그인의 2.1.7.RELEASE를 의존성으로 받음 */
springBootVersion = '2.1.7.RELEASE'
}
// 각종 의존성 라이브러리들을 어떤 원격 저장소에서 받을지를 결정
repositories {
// mavenCentral은 라이브러리를 업로드하기 위해서는 많은 과정과 설정 필요
mavenCentral()
// jcenter은 간단하게 라이브러리를 업로드 가능, jcenter와 mavenCentral 모두에 업로드될 수 있도록 자동화 가능
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
// 앞서 선언한 플러그인 의존성들을 적용할 것인가를 결정하는 코드 (자바와 스프링 부트를 사용하기 위한 필수 플러그인들)
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
// io.spring.dependency-management 플러그인은 스프링 부트의 의존성을 관리해 주는 플러그인으로 꼭 추가
apply plugin: 'io.spring.dependency-management'
group 'com.gagyeong.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
// 프로젝트 개발에 필요한 의존성들을 선언하는 곳
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testcompile('org.springframework.boot:spring-boot-starter-test')
}
- build.gradle 변경 반영
- 의존성 확인 : spring-boot-start-web, spring-boot-start-test 확인
🌱 인텔리제이에서 깃과 깃허브 사용하기
- 깃허브 로그인 : [Ctrl + Shift + A] 를 사용해 Action 검색창을 열어 share project on gitbhub 검색 후 로그인
- 깃허브에 저장소 생성
- .idea 디렉토리를 제외하고 커밋 : .idea는 프로젝트 실행시 자동으로 생성되는 파일이므로 불필요
- 커밋과 깃허브 푸시 성공 메시지
- 깃허브 프로젝트 자동 생성
- .idea 폴더를 앞으로의 모든 커밋 대상에서 제외되도록 처리 : .gitignore 파일 대신 플러그인에서 .gitignore 지원
- .ignore 플러그인 설치 검색 : [Ctrl + Shift + A] 를 사용해 Action 검색창을 열어 plugins 검색 후 클릭
- .ignore 플러그인 설치 : [Marketplace] 탭에 .ignore을 검색해 install
- 인텔리제이 다시 시작하여 설치한 플러그인 적용
- .ignore 파일 생성 : 프로젝트 우클릭 후 생성 목록 아래에 [.ignore file → gitignore file(Git)]을 선택해 .gitignore 파일 생성
- Generator 화면의 경우 사용자가 미리 만들어 둔 이그노어 템플릿을 선택할 수 있음
- 미리 만들어 둔 것이 없기 때문에 Generate 버튼을 클릭해 .gitignore 파일 생성
- 인텔리제이에서 자동으로 생성되는 파일들을 모두 이그노어 처리
- 이그노어 처리된 것을 깃허브에도 반영 : [Ctrl + K]를 통해 깃 커밋창을 열음
- 커밋 : .gitignore 파일을 선택하고 커밋 메시지를 작성한 후, Commit 버튼 클릭
- 깃허브에 푸시 : [Ctrl + Shift + K]
- 깃허브의 프로젝트로 이동해 반영된 것을 확인
🌱 참조했던 링크, 문서
더보기
Gradle 의존성 옵션들
https://writemylife.tistory.com/57
Gradle 설정 시 오류 (compile → implement로 변경)
https://okky.kr/article/997902
Gradle 다운 그레이드
https://github.com/jojoldu/freelec-springboot2-webservice/issues/2
'Java-Spring > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
[Spring Boot] 03장. 스프링 부트에서 JPA로 데이터베이스 다뤄보자 - JPA (0) | 2021.10.04 |
---|---|
[Spring Boot] 02장. 스프링 부트에서 테스트 코드를 작성하자 (0) | 2021.10.02 |
[Spring Boot] 00장. MVC의 역할과 실행 흐름 (0) | 2021.10.01 |
[Spring Boot] 00장. 뷰 템플릿과 MVC 패턴 (0) | 2021.10.01 |
[Spring Boot] 00장. 웹 서비스의 동작 원리 (0) | 2021.10.01 |