Programming/Spring Framework

[SpringBoot] PetClinic 샘플 프로젝트 - 빌드 및 실행하기

Deveun 2021. 11. 14. 18:11

좋은 코드를 많이 보아야 좋은 코드를 작성할 수 있을것 같아 스프링 공식 예제 프로젝트인 "PetClinic"을 내려받았다.

프로젝트의 시작은 세팅이 반에 가까울 정도로 중요하기에, 프로젝트 세팅과정을 정리해봤다.

 

0. 시작하기에 앞서

 

[프로젝트 환경]

- framework: Spring Boot 2.5.5

- server: Apache Tomcat/9.0.53

 

[실습 환경]

- os: Windows 10

- ide: IntelliJ

- java: OpenJDK 17 

 

 

1. git clone

github에 올라온 프로젝트를 로컬에서 띄우기 위해 IntelliJ에서 clone을 해보자.

IntelliJ의 get from VCS - Repository URL 메뉴에서 다음 주소와 저장할 directory를 입력하기만 하면 된다.

https://github.com/spring-projects/spring-petclinic.git

 

 

2. run

2_1. git config core.autocrlf true --global

: Windows환경에서만 필요한 세팅이다.

Linux 환경에서는 개행문자로 /n (LF)을 사용하고 Windows 환경에서는 /r (CR)를 사용하기 때문에 해당설정을 바꿔주지 않으면 소스파일을 수정하지 않았는데도 불구하고 git commit시에 수정파일인 것처럼 체크된다.

터미널에서 위의 명령어를 입력하여 autocrlf true 설정으로 기존 파일에서 사용하고 있는 방식을 사용하도록 허용하자.

[참고] https://www.lesstif.com/gitbook/git-crlf-20776404.html

 

 

2_2. ./mvnw spring-boot:run

: 터미널에서 위의 명령어를 입력하여 빌드 및 실행하고, 인터넷 브라우저에서 http://localhost:8080/ 만 입력하면 끝..... 

다른 방법으로 터미널에서 빌드만 수행한 뒤에 프로젝트를 실행할 수도 있는데, 이 때는 다음의 명령어를 사용한다.

 

(1) ./mvnw package

** 이 때, "spring Formatting violations found in the following files" 에러가 발생한다면, 이는 생성자를 통해 빈 객체를 주입하는 방식만 허용되어 발생하는 문제이므로 다음 명령어를 수행해주면 된다. -> ./mvnw spring-javaformat:apply

[참고] https://www.inflearn.com/questions/21647

 

(2) java -jar target/spring-petclinic-2.5.0-SNAPSHOT.jar

빌드에 성공한 뒤에 target 폴더 내에 생성된 jar를 실행하면 앞의 방법과 동일하게 프로젝트의 웹 화면을 띄울 수 있다.

 

 

 

[추가] mvnw란?

mvn은 스프링 프로젝트에서 쓰이는 의존성 관리도구이다. 그렇다면 mvnw는 무엇일까?

mvnw란 Maven Wrapper를 뜻한다. Spring Starter Project를 생성하면 만들어지는 mvnw, mvnw.cmd 파일들이 여기에 포함되는데, 로컬에 따로 maven을 설치하지 않고도 사용할 수 있도록 해준다. 또한 maven의 버전관리를 해준다.

[참고] https://oingdaddy.tistory.com/315