Я не могу использовать свойство для родительской версии моего проекта, несмотря на то, что это описано в Spring Cloud doc - PullRequest
0 голосов
/ 19 сентября 2019

В документации Spring Cloud Config родительская конфигурация pom.xml представлена ​​с переменной версии spring-boot-docs-version как таковой 1 :

   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>{spring-boot-docs-version}</version>
       <relativePath /> <!-- lookup parent from repository -->
   </parent>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>{spring-cloud-version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Поэтому я добавил следующее вСвойства моего pom.xml:

<properties>
    <spring-boot-docs-version>2.1.8.RELEASE</spring-boot-docs-version>
    <spring-cloud-version>Greenwich.SR3</spring-cloud-version>
</properties>

Но, похоже, это не работает;даже префикс выражения {spring-boot-docs-version} с $ не заставляет maven разрешать родительское POM.

Однако учтите, что мне пришлось добавить этот дополнительный $ в <dependencyManagement>:

<version>${spring-cloud-version}</version>

Я также искал документацию Spring Boot, но только обнаружил, что она не использует переменную 2 :

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.8.RELEASE</version>
</parent>

Как использовать такую ​​переменную в этих (внешних)* родительский тег <version>?

Примечание: я также читал, что если вы не наследуете от одного из этих стартеров, вы потеряете некоторые предварительные настройки maven (например, плагины и т. д.)

...