весеннее обновление версии ядра в весенней загрузке родительского стартера 1.5.10.RELEASE - PullRequest
0 голосов
/ 06 июля 2018

Вот зависимость maven у меня

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
  </dependencies>

что я пытаюсь добиться, это изменить ядро ​​пружины с 4.3.14.RELEASE на 4.3.4.RELEASE. Да, по умолчанию для пружинного загрузчика используется пружинное ядро ​​4.3.14, которое может быть расширено до 5.0.7.RELEASE, для этого я попытался исключить пружинное ядро ​​и в том числе с 4.3.4.RELEASE

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
            <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
            </exclusions>
                <scope>import</scope>
            <type>pom</type>
        </dependency>
       <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-core</artifactId>
               <version>4.3.4.RELEASE</version>
      </dependency>
</dependencies>

Когда я пытался его построить, выдает следующее ожидание

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': Unsatisfied dependency expressed through method 'setFilterChainProxySecurityConfigurer' parameter 1; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.core.convert.support.DefaultConversionService.getSharedInstance()Lorg/springframework/core/convert/ConversionService;

Вручную добавить каждую и каждую зависимость невозможно, потому что приложение использует чертовски много зависимостей, и совместимость с другими зависимостями была бы другой сложной задачей.

Так есть ли обходной путь для этого?

ПРИМЕЧАНИЕ : - пытался работать с spring framework-bom и spring IO, но пока не нашел решения, может быть, я что-то упустил. Примеры тех приветствуются.

1 Ответ

0 голосов
/ 06 июля 2018

Ты не должен этого делать. Spring Framework> Spring Boot> Spring Cloud> Data Flow - все управляют этими зависимостями по определенной причине. Вы должны позволить Spring обрабатывать зависимости и обновлять ваши реализации по мере необходимости.

https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot

Отвечает на это более подробно.

Разумно хотеть сделать это, но это должно быть сделано. с осторожностью, потому что новые версии транзитивных зависимостей могут легко сломать функции, которые полагаются на старую версию в Spring Загрузочный. Когда вы сделаете это и примените одно из исправлений ниже, вы отделяя себя от управления зависимостями Spring Boot и говоря «эй, я знаю, что я делаю, поверь мне». К сожалению, иногда вам нужно сделать это, чтобы воспользоваться новыми функции в сторонних библиотеках. Если вам не нужна новая версия реактора (или любой другой внешней переходной зависимости вы нужно), тогда не делайте этого, просто придерживайтесь счастливого пути и пусть весна Boot управляет зависимостями.

...