Intellij의 Spring Initializr로 Spring Boot 프로젝트를 생성 중 해당 이슈가 발생하였다.
이슈발행
Plugin 'org.springframework.boog:spring-boot-maven-plugin:' not found
해당 오류 Maven plugin의 버전이 명시가 되지 않아서 나는 에러이다.
문제 해결
문제 해결 방법에 대해 2가지 방법을 제시한다.
첫 번째 방법
Maven Dependency 폴더인. m2 삭제 후 재시작하는 방법이다.
이 방법은 Dependency '디펜던시명' not found 발생 했을때 가장 많이 사용된다.
1. 캐시삭제 / IDE 재시작
File -> Invalidate Caches / Restart... (캐시 무효화) -> Invalidate and Restart (무료화 및 다시 시작)
2. .m2 경로 찾아서 제거
Settings -> Build, Execution, Depolyment -> Build Tools -> Maven에 Local repository에 해당하는 경로로 이동해서 repository 삭제
3. repository 업데이트
Settings -> Build, Execution, Depolyment -> Build Tools ->Maven -> Repositories 에 URL에 해당하는 Remote, Local을 각 각 클릭하고 우측에 update를 눌러준다.
두번째 방법
버전을 명시한다.
Spring Boot는 기본적으로 spring-boot-stater와 spring-boot-stater-parent을 이용해 쉽게 설정이 가능하다. 스프링 프레임워크를 사용하다 보면 기본적으로 라이브러리 버전의 충돌을 신경 써야 하는데 stater-parent는 해당 의존성 조합간의 충돌 문제가 없는 검증된 버전을 제공한다.
우린 그것을 이용하면 된다.
pom.xml 파일에 <parent> 태그에 spring-boot-starter의 version이 개재되어 있다.
이를 이용하여 동일하게 버전을 추가하면 된다.
직접 버전을 추가하는 경우
... 중략
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.16</version>
... 중략
</plugin>
</plugins>
</build>
... 중략
spring-boot의 버전을 참조하는 경우
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${parent.version}</version>
... 중략
</plugin>
</plugins>
</build>