ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [00] Maven으로 Spring Boot Project 생성
    Spring/Spring boot 2020. 5. 11. 09:37
    반응형

    [Spring Boot Project 생성]

    IntelliJ에서 build tool 중 하나인 Maven을 사용하여 Spring boot project를 생성할 수 있습니다. (Gradle을 통한 project 생성은 여기를 참고해주세요.)

     

     

    + Create New Project를 클릭하여 Project 생성을 진행합니다.

     

     

     

    Maven을 선택하시고 다른 설정 없이 Next를 클릭합니다.

     

     

     

    ▶을 눌러 Aritifact Coordinates를 펼칩니다.

     

     

    GroupID는 사용자의 package명을 입력하시고 ArtifactId는 project 이름이므로 원하는 내용으로 입력해 주세요. (package는 URL의 역순으로 주로 입력합니다. 예를 들면 com.kakao.dev와 같은 형태입니다.)

    GroupID와 ArtifactId를 입력했다면 Finish를 클릭해서 Project를 생성합니다.

     

     

    생성된 Project의 root에 있는 pom.xml을 다음과 같이 수정합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>me.dave</groupId>
        <artifactId>spring-boot-example</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <!--
            Maven Project들은 계층구조로 구성이 가능합니다.
            현재 Project의 부모 project로 spring-boot-starter-parent를 지정합니다.
            이것은 의존성 관리와 깊이 연관된 설정입니다.
        -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.4.RELEASE</version>
        </parent>
    
        <!--
            spring boot start web의 의존성을 추가합니다.
        -->
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
        <!--
            build plugin을 추가합니다.
        -->
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

     

    Maven의 변경사항을 적용하기 위해 다음 그림에 해당하는 button을 click 해 줍니다.

     

     

    [Spring Boot Project의 실행]

    project의 기본 설정은 완료되었습니다. 이제 Spring Boot Project를 기동 할 수 있는 Code를 만들어 실제로 project를 실행해보도록 하겠습니다.

     

    ~/src/main/java에 package를 만듭니다.

    package 생성

     

    package명은 project 생성시 사용한 GroupId를 그대로 사용하시면 됩니다. 여기서는 "me.dave"가 되겠습니다.

    package명 입력

     

     

    생성된 pacakge에 class를 하나 만듭니다.

    class 생성

    생성할 class는 기동을 위한 main함수를 지니고 있는 class로, class명은 자유롭게 정해도 되지만 통상 application임을 나타내도록 명명합니다. 여기서는 "Application"으로 명명하여 만들겠습니다.

    Class 생성

    Application class의 내용을 다음과 같이 수정합니다. (참고로 IDE에 psvm라고 입력하면 public static void method를 쉽게 생성할 수 있습니다.)

    package me.dave;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    

     

    main 함수 앞에 있는 ▶ button을 클릭하거나 Shift+F10으로 project를 실행합니다.

     

    Run창에서 실행결과를 보면 내장WAS가 8080 port에서 실행된 상태입니다.

     

    실제 service되고 있는지 Browser를 통해 localhost로 접근해보면 Whitelabel Error Page가 뜨는데, 이는 내장 WAS가 기동 되고 있다는 뜻입니다.

    Whitelabel Error Page

     

     

     

     

     

    [Jar file을 사용한 Project 실행]

    우선 maven을 사용할 수 있는 환경을 구성해야 합니다. windows 기준 maven 설치 방법은 여기를 참고해주세요.

    IntelliJ에서 사용하시기 위해서는 먼저 Maven을 download 한 뒤 원하는 directory에 압축을 풀어주세요. IntelliJ에서 ctrl+shift+a로 action 검색창을 열어 "environment variables"이라고 입력 후 검색합니다.

     

    action 검색

    위와 같이 검색결과가 나오면 Settings > Terminal에 해당하는 Environment Variables를 선택해서 terminal 설정메뉴로 이동합니다.

    termianl 설정창

    Environment Variables textbox의 오른쪽에 위치한 버튼을 클릭해서 환경변수 창을 열어줍니다.

     

    System 환경변수 중 path 값 마지막에 maven directory 하위의 bean directory까지 포함한 경로를 추가해 줍니다.

    System 환경변수 path에 maven path 추가

     이제 IntelliJ terminal에서 다음과 같이 maven을 사용할 수 있는 상태가 되었습니다.

     

    maven을 사용해 현재 project를 실행할 수 있는 Jar file로 만들 수 있습니다. terminal에서 maven project의 root로 이동한 뒤에 "mvn package" 명령으로 Jar file을 생성합니다.

     

    Jar file은 project의 target directory에 생성되며 java -jar 명령으로 jar를 실행할 수 있습니다.

    위와 같이 정상적으로 web application이 실행되는 것을 볼 수 있습니다.

     

     

     

    [Spring Initializer를 통한 Spring boot project 생성]

    https://start.spring.io/ page를 통해 spring boot project를 생성할 수 있습니다. 몇가지 설정에 필요한 항목들을 입려가고 생성(Generate) button을 click하면 project file을 download 할 수 있습니다. 입력 항목들은 다음과 같습니다.

    1. Project : build tool을 지정합니다. Maven과 Gradle 둘 중 하나를 선택할 수 있습니다.
    2. Language : 개발 언어를 선택합니다. Java, Kotlin, Groovy 중 하나를 선택할 수 있습니다.
    3. Spring Boot : spring boot의 version을 선택합니다.
    4. Project Meta Data : project의 생성에 필요한 정보들을 입력합니다.
      • Group : GroupId
      • Artifact : ArtifactId
      • Name : project 이름
      • Description : project에 대한 간략한 설명
      • Package name : main class가 위치할 package name
      • Packaging : packaging file format을 지정합니다. Jar 또는 War file로 설정할 수 있습니다.
      • Java : Java version을 설정합니다.
    5. Dependencies : Spring Web, Spring Security 등의 여러가지 의존성을 지정하여 추가할 수 있습니다. 

     

    Download 받은 project file의 압축을 풀어주고 IntelliJ에서 project를 불러옵니다. project를 불러오는 방법은 IntelliJ의 File > Open menu에서 특정 file을 open하면 되는데, 이 때 Maven project인 경우는 pom.xml file을 Gradle project인 경우에는 build.gradle file을 각각 open합니다. file open 시 file만 열 것인지 project를 열 것인지 묻는데 project를 선택하면 project를 불러올 수 있습니다. 

    'Spring > Spring boot' 카테고리의 다른 글

    [05] Spring Application  (0) 2020.05.28
    [04] 독립으로 실행가능한 JAR file  (0) 2020.05.26
    [03] 내장 Web Application Server  (0) 2020.05.20
    [02] Spring boot 자동 설정  (0) 2020.05.15
    [01] Spring boot 의존성 관리  (0) 2020.05.12

    댓글

Designed by Tistory.