Как настроить порт для приложения Spring Boot

Как настроить порт TCP/IP, прослушиваемый приложением Spring Boot, поэтому он не использует порт по умолчанию 8080.

30 ответов


As сказал, что в документах либо set server.port как системное свойство с помощью опции командной строки для jvm --server.port=8090 или добавить application.properties на /src/main/resources/ С

server.port = 8090

для случайного использования порта

server.port=0

существует два основных способа изменить порт во встроенном Tomcat в приложении Spring Boot.

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

сначала вы можете попробовать приложение.файл свойств в папке / resources:

application.properties file

изменить опции VM

второй способ, если вы хотите избежать изменения каких-либо файлов и проверки того, что вам нужно только на вашем локальном компьютере, вы можете использовать vm арг:

перейти к Run - > изменить конфигурации - > параметры VM

-Dserver.port=8090

Change port with a vm arg

кроме того, если вам нужна дополнительная информация вы можете просмотреть следующую блоге здесь: изменение порта в приложении Spring Boot


кроме того, вы можете настроить порт программно

@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setPort(8012);
        });
    }
}

так как Spring Boot обеспечивает различный механизм экстернализации конфигурации (через различные PropertySource реализации и / или процессоры, подключенные к


вы можете установить порт в Java-коде:

HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);

new SpringApplicationBuilder()
    .sources(SampleController.class)                
    .properties(props)
    .run(args);

или в приложении.в формате YML:

server:
    port: 9999

или в приложении.свойства:

server.port=9999

или в качестве параметра командной строки:

-Dserver.port=9999

в случае, если вы используете application.yml добавьте к нему следующие строки

server:
     port: 9000

и, конечно, 0 для случайного порта.


как поясняется в Весна документации, есть несколько способов сделать это:

либо вы устанавливаете порт в командной строке (например, 8888)

-Dserver.port=8888 или --server.port=8888

пример : java -jar -Dserver.port=8888 test.jar

или вы устанавливаете порт в приложении.свойства

server.port=${port:4588}

или (в приложения.yml с синтаксисом yaml)

server:
   port: ${port:4588}

если порт прошел мимо-Dport (или-Dserver.порт) устанавливается в командной строке, затем это порт будет учтен. Если нет, то порт будет 4588 по умолчанию.

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

server.port=8888

Если вы хотите запустить его локально, используйте это -

mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'

по состоянию на Весенняя Загрузка 2.0, вот команда, которая работает (ключи были здесь):

mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085

включить ниже в собственность application.properties

server.port=8080

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

System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);

Это может помочь для таких вещей, как порт, зависящий от среды. Хорошего дня


вы можете указать порт, переопределив EmbeddedServletContainerFactory bean в вашей конфигурации (на основе java или xml). Там можно указать порт для используемого встроенного контейнера сервлетов. Пожалуйста, смотрите Spring Boot - Core "поддержка встроенного контейнера сервлетов" и пример там. Надеюсь, это поможет.


другой отвечает:

в документах для тестирования есть раздел, в котором объясняется, как настроить порт на интеграционных тестах:


при интеграционных тестах конфигурация порта производится с помощью аннотации @SpringBootTest и webEnvironment значения.


случайные порт:

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

вы можете ввести значение с помощью @LocalServerPort что же @Value("${local.server.port}").

  • пример:

случайная конфигурация теста порта:

@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
   ...
   @LocalServerPort //to inject port value
   int port;
}

определенный порт:

@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)

он принимает значение от server.port if определено.

  • If определяется с помощью @TestPropertySource(properties = "server.port=9192"), он переопределяет другие значения.
  • если нет, он принимает значение от src/test/resources/application.properties (если существует.)
  • и, наконец, если он не определен, он начинается с 8080.

пример:

определенная конфигурация теста порта:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }

}

на application.properties файл присутствует в ресурсах:

server.port=8082

при запуске приложения spring boot встроенный сервер, например Tomcat, запускается с портом по умолчанию. Встроенный tomcat начинается с порта 8080 по умолчанию. Существует множество способов изменить порт сервера по умолчанию.

Использование Файла Свойств (.свойства./в формате YML)

чтобы изменить порт сервера с помощью файла свойств, нам нужно настроить сервер.порт собственность.

a. Использование приложение.свойства в classpath, такие как src\main\resources\application.свойства

server.port = 8585

сервер начнется с порта 8585. Чтобы получить случайный порт сервера, присвойте свойству 0.

server.port = 0

теперь spring boot запустит сервер на порту, который в настоящее время не используется ни одним сервером в системе.

b. Использование приложения.yml в пути к классам, например src\main\resources\application.в формате YML.

server:
  port: 8585 

сервер начнется с порта 8585.

для случайного порта назначьте 0.

server:
  port: 0 

использование команды java с --server.порт или -но уже.порт

предположим, что у нас есть исполняемый JAR с именем my-app.jar, затем при запуске приложения spring boot с помощью команды java мы можем использовать аргумент следующим образом.

использование --server.порт

java -jar my-app.jar  --server.port=8585

Использование-Dserver.порт

java -jar -Dserver.port=8585 my-app.jar

сервер начнется с порта 8585.

использование команды java с --port или-Dport вкратце

чтобы сделать --server.порт и -но уже.короче говоря, мы можем удалить ключевое слово сервера и сделать его любым коротким ключевым словом, таким как --port и-Dport. Мы можем использовать любое короткое ключевое слово. Здесь мы используем порт как короткий ключевое слово. Для этого нам нужно настроить заполнитель в файле свойств следующим образом.

использование приложения.свойства

server.port=${port:8282}

использование приложения.в формате YML

server:
   port: ${port:8282}

если мы не передадим порт в качестве аргумента, то по умолчанию сервер будет начинаться с 8282. Если мы хотим другой порт, то нам нужно передать желаемый порт в аргументе следующим образом. Предположим, у нас есть исполняемый JAR с именем my-app.сосуд.

использование --port

java -jar my-app.jar --port=8585 

Через -Dport

java -jar -Dport=8585 my-app.jar 

сервер начнется с порта 8585.

использование SERVER_PORT с SpringApplication программно

SpringApplication имеет метод setDefaultProperties (), который используется для изменения свойств spring boot по умолчанию. Предположим, мы хотим изменить порт по умолчанию, тогда нам нужно создать карту и поместите порт с ключом SERVER_PORT. Найдите пример.

MyApplication.java

package com.humoyun;

import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(MyApplication.class);
        Map<String, Object> map = new HashMap<>();
        map.put("SERVER_PORT", "8585");
        application.setDefaultProperties(map);
        application.run(args);
        }     
} 

Spring boot запустит сервер с портом 8585.


есть много других материалов, которые вы можете изменить в конфигурации сервера, изменив приложение.свойства. Как время сеанса, адрес и порт и т. д. См. ниже Сообщение

ref: http://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html

я использовал несколько из них, как показано ниже.

server.session.timeout=1
server.port = 3029
server.address= deepesh

  1. Как все сказали, Вы можете указать в приложении.свойства
    сервер.порт = 9000 (может быть любое другое значение)

  2. Если вы используете пружинный привод в своем проекте, по умолчанию он указывает на
    8080, и если вы хотите изменить его, то в приложении.свойства упоминание
    управление.порт = 9001 (может быть любое другое значение)


действительно, самый простой способ-это установить сервер.порт собственность.

Если вы используете STS как IDE, с версии 3.6.7 у вас на самом деле есть Редактор Свойств Spring для открытия свойств файла.

этот редактор обеспечивает автозаполнение для всех свойств Spring Boot. Если вы пишете порт и нажмите CTRL + пробел,сервер.порт будет первым вариантом.


добавьте это в свой

server.port= 8080

1.1 Обновление через файл свойств.

/ src / main / resources / application.свойства

сервер.port=8888

Обновление через файл yaml.

   server:

     port: 8888

EmbeddedServletContainerCustomizer

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8888);

    }

}

надеюсь, что это поможет

application.properties=> 

server.port=8090

application.yml=> 

server
  port:8090

просто application.properties на src/main/resources проекта и дать там

server.port=****

здесь **** относится к номеру порта.


используя свойства сервера.port=8080, например, как указано в других ответах, определенно является способом пойти. Просто хотел упомянуть, что вы также можете предоставить свойство среды:

SERVER_PORT=8080

поскольку spring boot может заменить "."Для" _ " и от нижнего до верхнего регистра для переменных среды в последних версиях. Это особенно полезно в контейнерах, где все, что вам нужно сделать, это определить эту переменную среды без добавления/редактирования application.properties или передача свойств системы через командную строку (я.е -Dserver.port=$PORT)


Вы можете добавить порт в ниже методы.

  1. выполнить -> раздел конфигурации

  2. на application.xml добавить server.port=XXXX


вы можете установить это в приложении.свойства в разделе / src / main / resources/

server.port = 8090

в основном springboot работает на port:8080 из-за встроенного Tomcat. В некоторых это может вызвать ошибку port 8080 already in use. Чтобы избежать такого рода проблем, мы можем настроить порт сервера.

использование приложения.свойства

добавить server.port=9898

на runtime config

запустите приложение с приведенными ниже аргументами.

spring-boot:run -Drun.jvmArguments='-Dserver.port=8081'


существует три способа сделать это

1 установить сервер.свойство порта в

server.port = 8090

2 расположен порт сервера

server:
     port: 8090

3 Установите свойство как системное свойство в main метод

System.setProperty("server.port","8090");

вы также можете использовать SERVER_PORT переменная среды для настройки порта загрузки Spring. Просто установите переменную окружения и перезапустите приложение:

set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux

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


порт по умолчанию: 8080, но мы можем настроить номер порта в приложении.свойства как показано ниже

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
server.port = 5050 -- #here we can give any port number.

этот вопрос является первым результатом, если вы Google для Порт Весны Gradle.

Если вы используете gradle, вы можете сделать что-то вроде этого, если у вас уже применен плагин Spring Boot Gradle:

bootRun {
    args += ["--server.port=[PORT]"]
}

для более сложного ответа см. Мой ответ здесь.


Если вы работаете над проектами загрузки, и вы хотите настроить порт, который вы можете ввести в приложение.свойства файла, например Примечание: файл свойств должен находиться под src/main / resource

пружинные свойства

сервер.port=9999 Если вы используете CMD, выполните эту команду -Dserver.port=9999 Для порта по умолчанию его сервер.port=0 Убедитесь, что порт не использует этот номер порта