Maven - Eclipse에서 관리 버전 재정의 경고 억제
사용하고 있다spring-boot
여기서 설명한 것과 유사한 오류가 발생하였습니다.pom.xml에 다음 내용을 추가했습니다.
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
<version>1.1.0.Final</version>
</dependency>
Spring boot에 의해 부모 pom.xml에 정의되어 있는 validation-api 1.0.0 의존관계를 덮어쓰고 있습니다.이것에 의해, 다음과 같은 귀찮은 경고 메세지가 표시됩니다.
관리 버전 1.0.0을 재정의하고 있습니다.검증용 GA-api
이클립스에서 이 경고 메시지를 영구적으로 억제하려면 어떻게 해야 합니까?pom.xml과 문제 뷰에 모두 표시됩니다.
해당 경고가 나타나면 경고(Ctrl+1)에서 빠른 수정 메뉴를 열고
이 경고 무시
이렇게 하면 다음과 같이 버전 행에 코멘트가 추가됩니다.
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$-->
</dependency>
문제는 수동으로 잘못된 행에 코멘트를 추가했다는 것입니다.
프로젝트가 사용하고 있기 때문에spring-boot
보다 적절한 답변은, https://stackoverflow.com/a/35385268/1568658 를 참조해 주세요.
(또, 같은 문제를 받고 있기 때문에, 위의 답변도 그다지 완전하지 않습니다.여기에 답변을 추가하겠습니다.)
문제 원인:
spring-boot
많은 의존관계와 그 버전을 정의하고 있습니다.spring-boot
부모로서 이러한 종속성이 상속되어 다른 버전으로 종속성 중 하나를 재정의하면 다른 라이브러리의 종속성이 손상될 수 있으므로 경고가 발생합니다.
솔루션:
이 종속성에 대한 속성을 정의합니다.<properties></properties>
버전을 지정합니다.
예
<properties>
<reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
</properties>
속성 이름을 찾는 방법:
- 를 엽니다.
pom.xml
IDEA 또는 Eclipse에 있습니다. - Ctrl +의
<parent>
tag를 사용하여 부모의 pom을 열고 attactId를 가진 pom 파일에 접속하려면 재귀적으로 두 번 클릭해야 합니다.spring-boot-dependencies
. - POM을 연 후 종속성을 검색합니다.
servlet-api
디폴트 버전이 표시됩니다.
https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot에서 봄의 문서에 더 자세히 설명되어 있습니다.
main pom에 필요한 버전을 입력합니다.
이 경고는 기본(최상위 수준) POM에 정의된 아티팩트 버전을 재정의하려고 함을 의미합니다.메인 폼에 필요한 버전을 입력하면 사용할 필요도 없습니다.<version />
이 의존성에 대한 다른 poms.
제 문제는 lombok.jar 버전에 관한 것입니다.저는 롬복 버전을 여러 개 가지고 있고 이클립스 버전을 가져가고 있는데 버전이 더 많이 검출되어 버전을 선택할 수 없습니다.그래서 maven folder(.m2)에 가서 lombok의 추가 버전을 삭제하고 프로젝트를 maven update를 하면 오류가 사라집니다.
하지만 나는 롬복 버전을 어디에도 제공하지 않았다. 이클립스는 버전을 선택하고 방법을 모른다.
도움이 된다! 나는 문제를 해결한다.모듈 pom 파일로 9.2.12를 선언합니다.스프링 부트 중 M0은 V9.3을 참조합니다.부모 pom 파일의 V9.2를 덮어씁니다.'에릭 왕' 뒤에 이어지다
언급URL : https://stackoverflow.com/questions/30782453/maven-suppress-overriding-managed-version-warning-in-eclipse
'source' 카테고리의 다른 글
스프링 부팅에서 다중 파트 경계를 찾을 수 없으므로 요청이 거부되었습니다. (0) | 2023.02.26 |
---|---|
! 오브젝트 메서드 뒤에 typescript가 있는 연산자 (0) | 2023.02.26 |
AngularJS 왜 스코프가 필요하죠?$140 이내.$on? (0) | 2023.02.26 |
약속의 가치에 접근하려면 어떻게 해야 하나요? (0) | 2023.02.26 |
$resource에 전달된 @id란 무엇입니까? (0) | 2023.02.26 |