본문 바로가기

CSE/Spring & Spring Boot

[스프링부트&AWS]01. 인텔리제이로 스프링 부트 시작하기

※본문은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 참고하여 작성되었습니다.

http://www.yes24.com/Product/Goods/83849117

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링

www.yes24.com

Chapter 01과 02는 초기 환경을 세팅하다가 발생한 이슈 및 해결법 위주로 글을 쓰고자 한다. 

 

우선, 이 프로젝트는 Gradle 7.3, Java 8을 기준으로 만들었다.

내가 처음 환경을 세팅했던 시점('22. 5. 14.)에는 Gradle 7.3이 Java 17까지만 지원하였다.(Java 18버전은 미지원)

그리고 이후 글에서 다시 설명할 예정이지만, 테스트 코드를 Java 17 버전으로 컴파일 했을 시, 에러가 발생하여 Java 8 버전으로 작성했음을 참고 바란다.

 

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

[그림 1] jcenter() 입력 시 주의 표시가 뜬다.

34p.의 build.gradle 파일 코드 중 repositories{}를 작성하는 부분에서 jcenter()를 입력하면 주의 표시가 뜬다.

검색해보니, '22. 2. 3.부로 JCenter는 더 이상 업데이트를 제공하지 않는다고 한다.

https://blog.gradle.org/jcenter-shutdown

 

JCenter shutdown impact on Gradle builds

JCenter shutdown impact on Gradle builds On February 3 2021, JFrog announced that they will be shutting down Bintray and JCenter. This post tells you what you need to know and do to avoid disruptions to your build pipelines. Your build may be affected by t

blog.gradle.org

근데 삭선 표시된 채로 냅둬도 빌드에는 큰 문제 없다..

 

그리고 36 ~ 37p.의 코드를 보면, dependencies 부분에 다음과 같이 적혀있다.

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

하지만, build.gradle를 반영할 시 dependencies 부분에 오류가 발생한다.

Gradle 7버전 부터는 compile, testCompile 대신에 implementation, testImplementation을 사용해야 한다.

다음과 같이 고쳐주면 된다.

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

 

1.5 인텔리제이에서 깃과 깃허브 사용하기

41p.에서 간혹 IntelliJ로 깃허브 프로젝트 생성을 하다가

Remote with selected name already exists 

라는 오류가 뜨면서 진행이 안되는 경우가 있을 수 있다.

이는 같은 깃허브 프로젝트를 몇번 생성했다가 삭제한 경우에 발생한다.

나도 초기 세팅을 잘못하여 몇번 지웠다가 생성하니 이 오류를 맞닥뜨렸다.

 

이때는 IntelliJ 터미널을 켜고(Alt + F12) 해당 프로젝트 디렉토리로 이동한 다음,

git remote rm origin

을 통해 기존 remote origin을 삭제해주면 해결이 된다.