Как настроить порт TCP/IP, прослушиваемый приложением Spring Boot, чтобы оно не использовало порт по умолчанию 8080.
Как сказано в документации, либо установите server.port
как системное свойство, используя опцию командной строки в jvm -Dserver.port=8090
, либо добавьте application.properties
в /src/main/resources/
с
server.port=8090
Для случайного порта используйте
server.port=0
Есть два основных способа изменить порт в embedded Tomcat в весна загрузки приложения.
Изменить приложение.свойства
Сначала вы можете попробовать приложение.свойства файла в папке /ресурсы:
server.port = 8090
Изменить параметр ВМ
Второй способ, если вы хотите избежать изменения каких файлов и проверять в чем-то, что вам нужно только на локальном, вы можете использовать ВМ арг:
Зайдите в запуск -и gt; Настройки -&ГТ редактирования; параметры VM
-Dserver.port=8090
Кроме того, если вам нужна дополнительная информация вы можете просмотреть следующую блоге здесь: изменение порта на пружине приложение загрузки
С весны ботинок обеспечивает различные конфигурации экстернализации механизм (через различные PropertySourceвнедрения и/или процессоры встроены в
среде` объект в порядке), вы можете задать любое свойство за ваш архив jar с помощью следующих методов:
в
Ява -фляга <путь/к/моему/опарника> --сервер.порт=7788
в
SPRING_APPLICATION_JSON='{"и сервер.порт" в:7788}' Ява -фляга <путь/к/моему/опарника>
в
Ява -Dspring.приложения.формат JSON='{"и сервер.порт" и:7788}' банка <путь/к/моему/опарника>
в
Ява -фляга <путь/к/моему/опарника> --весна.приложения.формат JSON='{"и сервер.порт" и:7788}'
в
Ява -класса dserver.порт=7788 -банку <путь/к/моему/опарника>
в
SERVER_PORT=7788 Ява -фляга <путь/к/моему/опарника>
в
НАБОР SERVER_PORT=7788 Ява -фляга <путь/к/моему/опарника>
./в config/приложения.свойства
конфигурационный файлв
сервер.порт=7788
и запустить:
в
Ява -фляга <путь/к/моему/опарника>
./в config/приложения.и YAML
в <!-- язык: Лэнг-в формате JSON>
сервер: порт: 7788
и запустить:
в
Ява -фляга <путь/к/моему/опарника>
в
сервер.порт=7788
и запустить:
в
Ява -фляга <путь/к/моему/опарника>
./приложения.и YAML
в <!-- язык: Лэнг-в формате JSON>
сервер: порт: 7788
и запустить:
в
Ява -фляга <путь/к/моему/опарника>
Вы можете комбинировать вышеописанные методы, и тогда бывший конфигурации в списке превалируют над последней.
Например:
SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
Сервер запускается и слушает порт 7788.
Это очень полезно, обеспечение свойства по умолчанию в PropertySources с более низким приоритетом (и обычно упакован в архив или закодированные в источнике), а затем переопределить их в среде выполнения. И это философия дизайн весенних ботинок:
быть самоуверенным из коробки, но выбраться так быстро, как требования начинают расходиться по умолчанию.
ИМЯ_СЕРВЕРА
к `серверу.преобразование имя было сделано спокойный привязки.
кроме того, вы можете настроить порт программно
@Configuration
public class ServletConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return (container -> {
container.setPort(8012);
});
}
}
Вы можете установить порт в 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
в
Если вы хотите, чтобы запустить его локально, использовать это -
команды mvn весна-загрузки:бежать -пьян.jvmArguments='-но уже.порт=8085'
По состоянию на Весна загрузки 2.0, здесь'ы команда, которая работает (ключи были здесь):
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
Как объяснено в весна документацию, Существует несколько способов сделать это:
Либо вы установить порт в командной строке (например 8888)
-Но уже.порт=8888
или --сервер.порт=8888
Пример : Ява -фляга -но уже.порт=8888 test.jar
Или установить порт в приложении.свойства
server.port=${port:4588}
или (в приложения.в формате YML с синтаксисом и YAML)
server:
port: ${port:4588}
Если порт прошел по -Dport (или -но уже.порт) находится в командной строке, то этот порт будет учтено. Если нет, то порт будет 4588 по умолчанию.
Если вы хотите применять порт в свойствах файла любой переменной среды, вы просто должны написать:
server.port=8888
Включает под собственность в приложение.свойства
server.port=8080
Когда требуется программным путем делать это, вы можете установить его во время запуска:
System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);
Это может помочь, например, зависящих от окружающей среды порта. Иметь хороший день
В приложении.присутствующие свойства файла в ресурсы:
server.port=8082
Вы можете указать порт, переопределив боб EmbeddedServletContainerFactory
в вашей конфигурации (на основе java или xml). Там вы можете указать порт для используемого встроенного контейнера сервлетов. Пожалуйста, смотрите Spring Boot - Core "Embedded Servlet Container Support" параграф и пример там. Надеюсь, это поможет.
Когда весна загрузки приложения начинается, встроенный сервер, таких как Tomcat начинается с портом по умолчанию. Встроенный Tomcat запускается с портом 8080 по умолчанию. Есть много способов, чтобы изменить порт сервера по умолчанию.
Через Свойства Файла (.свойства/.в формате YML)
Чтобы изменить порт сервера с помощью файла свойств, нам нужно настроить сервер.порт собственность.
а. Используя приложения.свойства в classpath, таких как ГРЦ\главная\ресурсы\приложения.свойства
server.port = 8585
Сервер начнет работу с Порт 8585. Чтобы получить случайный порт сервера, присвоить 0 до отеля.
server.port = 0
Сейчас весна загрузки запустить сервер на Порту, которые не используются в данный момент на любом сервере в системе.
б. Используя приложения.YML в пути к классу, такие как ГРЦ\главная\ресурсы\приложения.в формате YML.
server:
port: 8585
Сервер будет начать с Порт 8585.
Для случайный порт, присвоить 0.
server:
port: 0
Используя команду Java с ... сервера.порт или -но уже.порт
Допустим, у нас есть исполняемый jar, названный как my-app.jar тогда при запуске весна загрузки приложения, используя команду Java мы можем использовать этот аргумент следующим образом.
использование --сервер.порт
java -jar my-app.jar --server.port=8585
с помощью -но уже.порт
java -jar -Dserver.port=8585 my-app.jar
Сервер будет начать с Порт 8585.
Используя команду Java С-порт или -Dport короче
Чтобы сделать --сервер.порт и -но уже.порт короче говоря, мы можем удалить сервер сайта и сделать это короткое ключевое слово, например-порт и -Dport. Мы можем использовать любое короткое ключевое слово. Здесь мы используем порт как короткое ключевое слово. Чтобы добиться этого, нам надо настроить заполнитель в свойства файла следующим образом.
используя приложение.свойства
server.port=${port:8282}
используя приложение.в формате YML
server:
port: ${port:8282}
Если мы не пройдем порту в качестве аргумента по умолчанию сервер начнет с 8282. Если мы хотим другой порт, то мы должны передать нужный порт в аргумент следующим образом. Допустим, у нас есть исполняемый jar, названный как my-app.jar.
использование --порт
java -jar my-app.jar --port=8585
использование -Dport
java -jar -Dport=8585 my-app.jar
Сервер будет начать с Порт 8585.
Через SERVER_PORT с SpringApplication программно
SpringApplication есть способ как setDefaultProperties (), который используется для изменения свойств весна загрузки по умолчанию. Предположим, мы хотим изменить порт по умолчанию, то нам нужно создать карту и поставить порт с ключом 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);
}
}
Весна загрузки запустит сервер с портом 8585.
Чтобы расширить другие ответы:
Есть раздел в документации для тестирования, которая объясняет, как настроить порт на интеграционные тесты:
На интеграционных тестов, конфигурации порта производится с помощью аннотации @SpringBootTest
и webEnvironment
значения.
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
Вы можете вводить значения с помощью @LocalServerPort
который является тем же самым как @значением(" и${местные.сервер.порт} себе")
.
Тестовая конфигурация случайный порт:
@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
...
@LocalServerPort //to inject port value
int port;
}
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)
Он принимает значение от сервера.порт-если определена.
@TestPropertySource (=на " свойств;сервера.порт=9192", У)
, он переопределяет другие значения.8080
.Пример:
Заданная конфигурация тестовый порт:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
Есть три способа сделать это в зависимости от файла конфигурации приложения вы используете
a) если вы используете приложение.свойства set файл
сервер.порт = 8090`
Б) Если вы используете приложение.в формате YML файл установить порт сервера недвижимости в YAML формате, как указано ниже
server:
port: 8090
c) вы также можете установить свойство как системного свойства в основной метод
System.setProperty("server.port","8090");
Есть много других материалов можно изменить в конфигурации сервера, изменяя приложения.свойства. Как сессия тайм-аут, адрес и порт etc. См. ниже пост
Реф: 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
В приложение.файл свойств, добавьте следующую строку:
сервер.порт = 65535`
где место, тьфу:
24.3 приложения Файлы собственность
SpringApplication загружает свойства из приложения.свойства файлов В следующих местах и добавляет их к весне среды:
а /конфигурации подкаталог текущего каталога В текущем каталоге пакет из classpath /конфиг в classpath корень
список упорядочен по предшествованию (свойства, определенные в местах в списке переопределение, определенных в нижних точках).
В моем случае я положил его в каталог, где банку
файл стоит.
От:
Добавить это приложение в свой.свойства файла
server.port= 8080
Как все говорили, вы можете указать в заявке.свойства <БР> сервер.порт = 9000 (может быть любое другое значение)
Если вы используете пружинный привод в проекте, по умолчанию он указывает на 8080, и если вы хотите изменить его, потом в приложение.учтите свойства<БР> управление.порт = 9001 (может быть любое другое значение)
По умолчанию весна загрузки приложения с запустить вложенный Tomcat запустить сервер по умолчанию порт 8080. весна предоставляет вам следующие различные настройки вы можете выбрать один из них.
Примечание – Вы можете использовать сервер.порт=0 весна загрузки найдете любые неназначенные протоколу HTTP случайный порт для нас.
1) заявление.свойства
server.port=2020
2) применение.в формате YML
server:
port : 2020
3) изменить порт сервера программным путем
3.1) путем реализации интерфейса WebServerFactoryCustomizer - Весна 2.х
@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
// customize the factory here
factory.setPort(2020);
}
}
3.2) путем реализации интерфейса EmbeddedServletContainerCustomizer - Весна 1.х
@Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
// customize here
container.setPort(2020);
}
}
4) с помощью параметра командной строки
java -jar spring-boot-app.jar -Dserver.port=2020