Spring Boot мнения о версии - как переопределить то, что мы хотим? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть проект Spring, который является мультимодульным проектом, и он использует загрузку с пружины (test / pom.xml; и api / pom.xml)

test / pom.xml имеет следующееboot:

<spring.boot.version>2.0.6.RELEASE</spring.boot.version>

 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${spring.boot.version}</version>
    <type>pom</type>
    <scope>import</scope>
 </dependency>

Доступные версии jackson-core:> 2.9.0.7

(api) модуля pom.xml (фрагмент, показывающий зависимости весенней загрузки)

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Как видно, я пытаюсь исключить jackson-xxx из весенней загрузки.

Теперь у меня есть jar, скажем, a.jar, который имеет явные зависимости (с конкретными версиямиДжексон -> 2.9.0.8);и эту зависимость, которую я добавляю в свой файл api / pom.xml (не показан выше)

Теперь, когда я вижу, к какой версии jackson-core разрешается jackson-databind;требуется версия -> 2.9.0.7 (которая является частью весенней загрузки; однако я попытался исключить ее).

Может кто-нибудь помочь мне понять, почему это происходит, и как сделать конкретную версию такой, чтобывыбран по желанию.

1 Ответ

0 голосов
/ 14 февраля 2019

используйте плагин зависимостей maven, чтобы выяснить, откуда взялась зависимость:

mvn dependencies:list

или просто добавьте версию explizit непосредственно в pom:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>                
   <version>2.9.0.8</version>
</dependency>

Это должно переопределить версиюпружинных зависимостей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...