2015-01-08 1 views
1

종속성 및 pom.xml 파일을 단순화하기 위해 스프링 I/O 플랫폼 Bill-Of-Materials를 사용하도록 Spring MVC 애플리케이션을 업데이트했습니다. 그러나 우리는 부두 9.x의에 의존 8.X하기 위해 부두 버전을 봄 IO 플랫폼 설정 : BOM을에 정의 된 depdencency의 특정 버전을 덮어Spring IO 플랫폼 BOM (Bill-Of-Materials) 사용자 정의 버전

  1. :

    그러나 나는이 문제가 . 문서에 따르면 특정 종속성을 무시하는 것은 pom.xml 파일에 동일한 이름의 속성을 추가하는 것처럼 간단해야합니다 (즉, <jetty.version>9.x</jetty.version>). 그러나 이것은 작동하지 않습니다. 명시 적으로 올바른 버전의 종속성을 pom.xml 파일의 dependencyManamgenent 섹션에 추가해야합니다.

  2. 응용 프로그램의 pom.xml 내부의 BOM에서 속성 사용 : AFAIK Spring IO 플랫폼 BOM은 속성 (예 : com.fasterxml.jackson)을 사용하여 종속성 버전을 지정합니다. 그러나 BOM에 정의되지 않은 com.fasterxml.jackson.dataformat.smile을 사용하려고합니다. 그래서 우리는 앱의 pom.xml (dependencieddependencyManagement)에 특정 종속성을 추가했습니다. pom.xml에서 jackson 버전 속성을 재사용 할 수 있습니까? 현재 해당 버전에 속성 (예 : <com.fasterxml.jackson.dataformat.smile>)을 추가해야하며 스프링 io 플랫폼 버전을 업데이트 할 때이 속성도 업데이트해야합니다.
+0

bom을 부모의 부모로 사용하고 있습니까, 아니면 pom의''섹션에서 가져 오는 중입니까? –

+0

' '로 가져 왔습니다. app-client (GWT), app-shared (DTOs) 및 app-server (spring mvc, backend 등)의 3 개 모듈로 구성된 다중 모듈 메이븐 프로젝트가 있습니다. 그들 모두는 공통 의존성을 정의하는 부모 pom을가집니다. –

답변

2

당신은 Maven에서 한계에 부딪쳤습니다. bom에서 속성을 재사용하는 것은 pom이 부모를 통해 직접 또는 간접적으로 bom을 상속하는 경우에만 작동합니다.

아마도 플랫폼 종속성은 현재 공통 종속성을 정의하고있는 pom의 부모로 사용할 수 있습니다.

관련 문제