Spring-context и Spring-Web 4.2.4.RELEASE - PullRequest
1 голос
/ 28 мая 2020

Почему мне нужно включить spring-context в мой новый spring boot проект, чтобы он работал?

У меня это есть в моем pom.xml

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

Я вижу внутри пружины- веб-зависимость, зависимость spring-context

, если я удалю spring-context из моего pom. xml, приложение не запускается.

Ниже я получаю ошибку:

Exception encountered during context initialization - cancelling refresh attempt: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nameOfController'

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Когда мы go через зависимости компиляции spring-web, тогда spring-context не включается в последнюю версию .

https://frontbackend.com/maven/artifact/org.springframework/spring-web/5.2.6.RELEASE

Хотя он присутствовал в предыдущих версиях.

https://frontbackend.com/maven/artifact/org.springframework/spring-web/4.3.20.RELEASE

Так как я не вижу спецификации c версия, которую вы добавляете в свой файл pom. xml, я предполагаю, что она получает последнюю версию, где зависимость spring-context не включена в spring-web.

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

Вы можете указать конкретную c версию следующим образом:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.2.6.RELEASE</version>
</dependency>
0 голосов
/ 28 мая 2020

Видите ли вы, что spring-context должен быть предоставлен с помощью spring -web, или действительно, что он просто зависит от него? Вы можете сделать себе одолжение и использовать артефакты Spring boot starter, которые на самом деле идут со всеми необходимыми зависимостями и не помечают ни один из них как "предоставленный".

В вашем случае это будет spring- boot-starter-web.

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