프레임워크(Framework)/Spring

[Spring] 3. 스프링 프로젝트 빌드 및 실행하는 방법 with Gradle

잇트루 2022. 8. 2. 23:25
반응형

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술'내용을 바탕으로 공부하여 정리한 것임을 알려드립니다.

 

시작 페이지(Welcome Page)

시작 페이지는 프로그램을 실행하면 가장 먼저 나타나는 페이지로 프로젝트를 실행시킨 후 인터넷 브라우저를 통해 http://localhost:8080/로 이동하면 바로 나타나는 페이지를 뜻합니다.

프로젝트를 빌드하기 위한 최소환의 환경을 만들기 위해 프로젝트 생성 이후 간단한 시작 페이지를 만들어 봅니다.

 

스프링 부트에서 시작 페이지를 찾는 방법

  1. static 폴더 내에서 index.html을 찾는다.
  2. static에서 index.html을 찾지 못한 경우, templates에서 index를 찾는다.
  3. 위에서 파일을 찾은 경우 시작 페이지로 사용한다.

 

따라서, 프로젝트에서 scr/resources/static에 index.html 파일을 생성하여 간단한 시작 페이지를 작성합니다.

index.html

<!DOCTYPE HTML>
<html>
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello Spring!
</body>
</html>

 

위 코드를 작성한 뒤 프로젝트를 실행시킨 후 인터넷 브라우저에서 http://localhost:8080/로 이동하여 다음과 같이 나타나면 성공입니다.

 

빌드

빌드(Build)란 개발자가 작성한 소스 코드를 실행 가능한 독립적인 형태로 만드는 과정과 결과를 뜻합니다. 즉, 프로젝트를 빌드하면 독립적인 형태의 파일이 생성될 것이고 이를 실행하여 프로젝트에 작성한 기능들을 이용할 수 있도록 하는 것입니다. 스프링의 경우 빌드 도구로 Maven과 Gradle을 사용하며, 독립적인 형태의 파일은 Jar와 War 둘 중 하나의 형식으로 만들 수 있습니다.

 

Jar는 자바에서 사용되는 압축 양식으로 Java 애플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일입니다. 클래스, 자바 리소스, 라이브러리 등을 포함하고 있으며 JRE만 있어도 실행이 가능합니다.

 

War는 웹 애플리케이션을 압축하고 배포하는 데 사용되는 파일 형식으로 웹 관련 자원들을 포함합니다. Jar보다 자바 서블릿, XML, HTML, JavaScript, 정적 리소스 등 더 많은 자원을 요구하며, 별도의 웹 서버 또는 WAS를 필요로 합니다.

 

빌드하여 얻은 산출물을 실행하는 것으로 프로그램을 이용할 수 있으며, 산출물을 서버에 업로드하여 배포가 가능합니다.

 

빌드하기

빌드하기 위해 윈도우 환경에서는 cmd(명령 프롬프트)를 실행하고, 맥 또는 리눅스 환경에서는 터미널을 실행합니다.

 

윈도우

cd : 현재 디렉터리 이름을 보여주거나 다른 디렉터리로 이동할 수 있는 명령어

dir : 현재 경로에 존재하는 파일 또는 하위 디렉터리 목록을 보여주는 명령어

 

맥 또는 리눅스

cd : 디렉터리 이동하기 위한 명령어

ls : 현재 경로에 존재하는 파일 또는 하위 디렉터리 목록을 보여주는 명령어

 

위 명령어를 통해 프로젝트의 경로로 이동하여 디렉터리 목록을 확인합니다.

 

프로젝트 경로에서 dir 명령어를 통해 파일 목록을 확인하여 gradlew 파일이 존재하는지 확인한 후 gradlew build 명령어를 통해 프로젝트를 빌드합니다. (맥 또는 리눅스의 경우 ./gradlew build)

 

build를 하게 되면 필요한 라이브러리 등을 다운로드하며 빌드를 합니다.

 

빌드를 완료하면 build라는 새로운 디렉터리가 생기게 되며 cd build를 통해 build 디렉터리로 이동합니다.

 

dir을 통해 확인하면 여러 디렉터리와 파일들이 생성되어 있음을 알 수 있습니다. 다시 cd libs 명령어를 통해 libs 디렉터리로 이동합니다.

 

libs 디렉터리 경로의 파일들을 확인하면 -0.0.1-SNAPSHOT.jar라는 jar파일이 생성되어 있으면 성공적으로 빌드가 된 것입니다.

 

빌드된 파일을 java -jar 프로젝트명-버전-SNAPSHOT.jar 명령어를 통해 실행합니다.(java -jar 파일이름.jar)

그럼 다음과 같이 intelliJ에서 실행했을 때와 같이 실행되며, 웹 브라우저에서 확인이 가능합니다.

http://localhost:8080에 접속 시 다음과 같이 접속이 되면 성공입니다.

 

터미널 또는 명령 프롬프트에서 jar를 실행하였을 경우 IDE 내에서는 중복하여 실행이 되지 않으니 참고하시기 바랍니다.(반대의 경우도 실행이 안됩니다.)

 

만약 제대로 실행이 되지 않는 경우, 프로젝트 디렉터리로 다시 이동하셔서 gradlew clean build 명령어를 통해 삭제 후 재설치가 가능합니다.(맥 또는 리눅스의 경우 ./gradlew clean build)

 

그 외 build된 데이터를 삭제하기 위해서는 프로젝트 디렉터리에서 gradlew clean 명령어를 사용하면 삭제됩니다.(맥 또는 리눅스의 경우 ./gradlew clean)

build clean 명령어를 실행하면 build 디렉터리가 모두 사라진 것을 확인할 수 있습니다.

반응형