본문 바로가기
👨‍💻 개발/spring boot

[나만의 Blog 만들기] #2. 의존성 설정(pom.xml)

by 말랑한곰탱이 2021. 10. 23.

프로젝트 내부를 들여다보면 pom.xml 파일이 있다.

 

 

Spring project를 다루다 보면 수많은 오류들이 나오고 해당 오류들을 인터넷에서 찾으면 properties, dependency 등등 다양한 오류가 나온다. 이 많은 오류들의 원인이라고도 할 수 있으며 프로젝트의 중요한 정보를 정의하고 정리하기 위한 곳이 'pom.xml'이다. 대부분 Maven의 중요 설정파일들이 들어가 있으며, dependency(의존성)를 통해 라이브러리를 쉽게 관리할 수 있다. 코드만 입력 or 삭제하면 프로젝트를 실행할 때, Maven이 자동으로 라이브러리를 사용할 수 있도록 설치 or 삭제해준다.

 

 블로그를 만드는데 JPA, lombok, JSP, JSTL, MySQL, hibernate 등의 라이브러리가 필요해서 모두 추가해주었다.

 

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <!-- 추가 라이브러리 시작 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!--Lombok-->
        <dependency>
          	<groupId>org.projectlombok</groupId>
          	<artifactId>lombok</artifactId>
          	<version>1.18.20</version>
          	<scope>provided</scope>
        </dependency>
      
        <!-- 시큐리티 태그 라이브러리 -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
        </dependency>

        <!-- JSP 템플릿 엔진 -->
        <!-- 기본적으로 spring boot는 jsp를 지원하지 않기 때문에 따로 의존성 설정을 해줘야 jsp가 동작가능해진다. -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <!-- JSTL -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        
        <!-- Java Persistence API -->
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>javax.persistence-api</artifactId>
            <version>2.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.10.Final</version>
        </dependency>

        <!-- mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.18</version>
        </dependency>