#spring #maven
Вопрос:
Зависимости от Spring-web.jar теперь не содержат сторонних зависимостей. У него есть только другая баночка с пружинным каркасом. Например, это зависит от spring-core.jar. Но весенняя паутина зависит от некоторых сторонних банок. httpclient.jar является одним из них. Когда я использую maven для упаковки своего проекта, который зависит от spring-web, httpclient.jar не загружается автоматически. это сегмент spring-web-5.2.15.RELEASE.pom.
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.15.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.15.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
Я прочитал pom spring-web в ранней версии. Я нахожу, что преимущества включают httpclient.jar. Но теперь он исчез в новой версии. это сегмент spring-web-5.1.8.RELEASE.pom.
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
<optional>true</optional>
</dependency>
Как я могу загрузить зависимости?
Комментарии:
1. Это всего лишь необязательные зависимости, поэтому они никогда не будут включены. Вам придется добавить их самостоятельно. Почему бы вам не захотеть, чтобы все зависимости, для которых Spring поддерживает, были встроены в ваше собственное приложение, не так ли? Или вы хотели бы получить Apache HttpClient (3,4,5), OkHttp, а также Freemarker, Velocity, Thymeleaf и т. Д., Потому что все они поддерживают это (и многое, многое другое). Поэтому Spring не включает их, поскольку они относятся к конкретному приложению, и именно вы, разработчик приложений, знаете, что включать.
2. @M. Deinum: Я обновляю httpclient.jar с версии 4 по версию 5, потому что от этого зависит мой проект. Мой проект зависит от spring-web.jar тоже. Это обновление нарушило работу моего проекта. Spring-web.jar зависит от httpclient.jar 4. Он не может работать с httpclient 5, потому что интерфейс изменился в версии 5, и spring-web.jar не могу найти метод, который он использовал. Теперь я должен проверить зависимость spring один за другим вручную . Есть ли какой-то способ автоматически загрузить зависимость от spring сейчас?
3. Он ничего не будет загружать, так как это необязательная зависимость, он никогда не загружал ее без вас, поскольку разработчик указал ее в качестве зависимости. Это никогда не было чем-то иным.
4. @M. Дейнум: ХОРОШО. Но теперь у меня есть два httpclient в разных версиях. Могу ли я указать, от какой версии зависит пружина? Пом пружины не содержит никакой информации о проверке.
5. Зачем вам 2-я версия? Нужно загрузить только 1 файл. Это не имеет ничего общего с весной, кроме непонимания того, как работает maven.