Не удалось запустить веб-сервер. Порт 8080 уже использовался. Весенний ботинок - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь вызвать webAPI из проекта gradle.

Мой build.gradle выглядит следующим образом.

plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    compile 'org.springframework.boot:spring-boot-starter-webflux'
    compile 'org.projectreactor:reactor-spring:1.0.1.RELEASE'
}

Если удалить следующую зависимость

compile 'org.springframework.boot:spring-boot-starter-webflux'

Это работает, но если я добавлю его обратно.выдает ошибку как

Web server failed to start. Port 8080 was already in use.

Итак, как мне это исправить, чтобы я мог использовать веб-клиента?Потому что приложение не является веб-приложением, для работы которого требуется порт.это своего рода микросервис.

Я просто хочу использовать WebClient of Spring Boot.Как мне использовать его без преобразования моего приложения в веб-приложение.

Ответы [ 4 ]

1 голос
/ 07 июня 2019

Если вы не хотите, чтобы встроенный сервер запускался, просто установите в вас следующее свойство application.properties (или .yml):

spring.main.web-application-type=none

Если ваш classpath содержит необходимые биты для запуска веб-сервера, Spring Boot автоматически запустит его. Чтобы отключить это поведение, настройте WebApplicationType в вашем application.properties

Источник: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html

1 голос
/ 07 июня 2019

Вы пытаетесь использовать уже используемый порт.

Порты используются на транспортном уровне - tcp, http является прикладным уровнем и использует транспортный уровень для отправки и получения запросов.

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

  • изменить порт для вашего приложения
  • остановка службы, использующей порт, который вы хотите использовать
0 голосов
/ 07 июня 2019

Просто настройте приложение springboot для запуска в любом порту: https://www.javadevjournal.com/spring-boot/change-the-default-port-in-spring-boot/

0 голосов
/ 07 июня 2019

Ваше клиентское приложение также является приложением весенней загрузки, поэтому у вас есть два приложения весенней загрузки, запущенные через порт 8080.Измените один из них на порт или создайте отдельное Java-приложение с основным классом, вставьте в него свой веб-клиент и запустите.В качестве http-клиента вы можете использовать Apache Http Client.

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