에러
Unknown / line 1 / pom.xml / Maven Configuration Problem
개발환경
IDE : STS4 (Spring Tool Suite 4 / Version: 4.2.1.RELEASE / Build Id: 201904170946)
상황
STS4에서 프로젝트를 하나 생성하자 마자 pom.xml에서 에러가 발생했다. 프로젝트를 생성했을 때 기본적으로 "org.springframework.boot spring-boot-starter parent 2.1.5 RELEASE"를 사용하는 것으로 pom.xml에 세팅되어 있다. 그리고 git에서 checkout받은 스프링 프로젝트를 import하자마자 pom.xml에서 에러가 위와 같은 에러가 발생했다.
원인
Spring Framework는 빌드 및 컴파일을 할 때 Maven에 의존하고 있는데, 둘 간에 뭔가가 맞지 않기 때문에 발생한 것이다. 정확한 원인은 파악하지 않았지만, 해결책은 Spring Boot 의존성을 체크하는 필드인 "spring-boot-starter-parent"를 수정하는 것이다. 해결을 하던 중 찾아낸 다른 몇가지 방법들도 함께 아래에 소개한다.
해결
[방법1] Update Project
Project Explorer > 해당 프로젝트 마우스 우클릭 > Maven > Update Project…
* 이 방법은 STS가 최신버전일 때 가능한 해결방법이다. 본인처럼 최신버전이 아니라면 안될 수도 있으니 아래 방법2와 방법3을 참고바란다.
[방법2] pom.xml 에서 maven plugin 변경 (property 추가)
<properties>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
[방법3] pom.xml 에서 spring-boot-starter-parent version 변경 (version 2.1.4.RELEASE 로 수정)
기존의 세팅정보
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/>
</parent>
변경된 세팅정보
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/>
</parent>
참고
https://stackoverflow.com/questions/56142369/why-am-i-getting-unknown-error-in-line-1-of-pom-xml
https://stackoverflow.com/questions/56154266/why-does-change-from-spring-boot-version-2-1-4-to-2-1-5-gives-unknown-configurat