spring tools 세팅
STS(Spring Tool Suite)에서 Spring Starter Project로 프로젝트를 만들 때, 참조한 pom.xml과 동일하게 설정하려면 몇 가지 수동 설정이 필요합니다. STS에서 프로젝트를 생성하는 동안 일부 의존성을 선택할 수 있지만, 모든 항목을 완전히 참조한 pom.xml처럼 자동으로 생성하지는 않습니다.
하지만, 기본적으로 Spring Initializr를 사용하여 생성한 후 필요한 추가 설정을 수동으로 적용할 수 있습니다. 절차는 다음과 같습니다:
1. Spring Starter Project 생성
STS에서 Spring Starter Project를 생성할 때 기본적인 설정을 완료하고 의존성을 선택합니다.
- File > New > Spring Starter Project 선택
- 프로젝트 설정:
- GroupId: com.example (참조한 pom.xml과 동일하게 설정)
- ArtifactId: 52team (참조한 pom.xml과 동일하게 설정)
- Packaging: JAR로 설정 (참조한 프로젝트에서는 WAR를 사용하지 않음)
- Java Version: 17로 설정
- Dependencies 추가:
- Spring Web: spring-boot-starter-web (웹 애플리케이션 개발을 위한 필수 의존성)
- Thymeleaf: spring-boot-starter-thymeleaf (템플릿 엔진)
- MyBatis: mybatis-spring-boot-starter
- JDBC: spring-boot-starter-data-jdbc
- DevTools: spring-boot-devtools
- MySQL Driver: mysql-connector-j
- Lombok: lombok
- Spring Boot Starter Test는 기본적으로 포함되므로 추가하지 않아도 됩니다.
- Finish를 눌러 프로젝트 생성.
2. pom.xml 수정
프로젝트가 생성되면, 참조한 pom.xml과 완전히 일치하도록 몇 가지 수정을 해야 합니다.
1) thymeleaf-layout-dialect 추가
STS에서 제공하는 의존성 리스트에 thymeleaf-layout-dialect는 포함되지 않으므로, 이 의존성은 수동으로 pom.xml에 추가해야 합니다.
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
2) Tomcat 의존성 제거
packaging을 JAR로 설정했기 때문에 외부 Tomcat을 사용할 필요가 없습니다. 따라서 spring-boot-starter-tomcat 의존성을 제거하거나, 따로 추가하지 않으면 됩니다.
3) Optional 설정 추가
lombok과 devtools에 optional 옵션이 필요하다면, 생성된 pom.xml에 다음처럼 수동으로 추가해야 합니다.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
3. 마지막으로, build 및 플러그인 설정 확인
pom.xml의 build 섹션과 spring-boot-maven-plugin도 참조한 pom.xml에 맞춰 수정이 가능합니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
4. 프로젝트 구성 완료
이러한 수정을 마치면 참조한 pom.xml과 동일한 프로젝트 구성을 갖춘 상태가 됩니다.
결론
STS에서 Spring Starter Project를 생성할 때, 대부분의 의존성을 선택하고 프로젝트를 만들 수 있습니다. 다만, 일부 의존성(thymeleaf-layout-dialect 등)은 수동으로 추가해야 하고, 특정 설정(optional 등)도 직접 pom.xml을 수정해서 맞춰야 합니다.