Как настроить порт TCP/IP, прослушиваемый приложением Spring Boot, поэтому он не использует порт по умолчанию 8080.
Как настроить порт для приложения Spring Boot
Ответ 1
Как сказано в документации, либо установите server.port
в качестве системного свойства с помощью параметра командной строки для jvm -Dserver.port=8090
, либо добавьте application.properties
в /src/main/resources/
с помощью
server.port=8090
Для случайного использования порта
server.port=0
Ответ 2
Существует два основных способа изменить порт во встроенном Tomcat в приложении Spring Boot.
Изменить application.properties
Сначала вы можете попробовать файл application.properties в папке /resources:
server.port = 8090
Изменить вариант виртуальной машины
Во-вторых, если вы хотите избежать изменения каких-либо файлов и проверки того, что вам нужно только на локальном компьютере, вы можете использовать vm arg:
Перейдите в "Выполнить" → "Редактировать конфигурации" → "Параметры виртуальной машины".
-Dserver.port=8090
Кроме того, если вам нужна дополнительная информация, вы можете просмотреть следующее сообщение в блоге здесь: Изменение порта в приложении Spring Boot
Ответ 3
Поскольку Spring Boot предоставляет различные механизмы экстренной настройки (через различные реализации PropertySource
и/или процессоры, подключенные к объекту Environment
в порядке), вы можете установить любое свойство вне вашего архива jar следующими способами:
-
Передавать свойство через аргумент командной строки в качестве аргумента приложения
java -jar <path/to/my/jar> --server.port=7788
-
Из свойства в
SPRING_APPLICATION_JSON
(Spring Boot 1.3. 0+)-
Определить переменную среды в оболочке U * IX:
SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
-
Используя системное свойство Java:
java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
-
Пропустите аргумент командной строки:
java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
-
-
Определение свойства системы JVM
java -Dserver.port=7788 -jar <path/to/my/jar>
-
Определить переменную среды ОС
-
U * IX Shell
SERVER_PORT=7788 java -jar <path/to/my/jar>
-
Windows
SET SERVER_PORT=7788 java -jar <path/to/my/jar>
-
-
Разместить свойство в файле конфигурации
./config/application.properties
server.port=7788
и запустить:
java -jar <path/to/my/jar>
-
Поместите свойство в
./config/application.yaml
server: port: 7788
и запустить:
java -jar <path/to/my/jar>
-
Разместить свойство в
./application.properties
server.port=7788
и запустить:
java -jar <path/to/my/jar>
-
Поместите свойство в
./application.yaml
server: port: 7788
и запустить:
java -jar <path/to/my/jar>
Вы можете комбинировать вышеуказанные методы вместе, а прежняя конфигурация в списке имеет приоритет над последним.
Например:
SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
Сервер запустится и прослушивает порт 7788.
Это очень полезно, предоставляя свойства по умолчанию в PropertySources с более низким приоритетом (и обычно они упакованы в архив или закодированы в источнике), а затем переопределяют его в среде выполнения. И это философия дизайна Spring Boot:
Будьте упрямцы из коробки, но быстро уходите с места, так как требования начинают расходиться со значениями по умолчанию.
SERVER_NAME
в server.name
было выполнено Relaxed Binding.
Ответ 4
также вы можете настроить порт программно
@Configuration
public class ServletConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return (container -> {
container.setPort(8012);
});
}
}
Ответ 5
Вы можете установить порт в java-код:
HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);
new SpringApplicationBuilder()
.sources(SampleController.class)
.properties(props)
.run(args);
Или в application.yml:
server:
port: 9999
Или в application.properties:
server.port=9999
Или как параметр командной строки:
-Dserver.port=9999
Ответ 6
Если вы хотите запустить его локально, используйте это -
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'
Начиная с Spring Boot 2.0, здесь команда, которая работает (ключи были здесь):
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
Ответ 7
Если вы используете application.yml
, добавьте в него следующие строки
server:
port: 9000
и, конечно, 0 для случайного порта.
Ответ 8
Как объясняется в весенней документации, есть несколько способов сделать это:
Либо вы устанавливаете порт в командной строке (например, 8888)
-Dserver.port=8888
или --server.port=8888
Пример: java -jar -Dserver.port=8888 test.jar
Или вы устанавливаете порт в application.properties
server.port=${port:4588}
или (в application.yml с синтаксисом yaml)
server:
port: ${port:4588}
Если порт, переданный в -Dport (или -Dserver.port) установлен в командной строке, этот порт будет учтен. Если нет, то порт по умолчанию будет 4588.
Если вы хотите принудительно использовать порт в файле свойств независимо от переменной среды, вам просто нужно написать:
server.port=8888
Ответ 9
Включить ниже свойство в application.properties
server.port=8080
Ответ 10
Если вам нужен программный способ его выполнения, вы можете установить его во время запуска:
System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);
Это может помочь для таких вещей, как порт, зависящий от среды. Хороший день
Ответ 11
Вы можете указать порт, переопределив EmbeddedServletContainerFactory
bean в своей конфигурации (java based или xml). Там вы можете указать порт для используемого встроенного контейнера сервлета. Пожалуйста, см. Spring Boot-Core "Поддержка встроенного сервлет-контейнера" и пример. Надеюсь, это поможет.
Ответ 12
В application.properties
файле присутствует в ресурсах:
server.port=8082
Ответ 13
Чтобы расширить другие ответы:
В документах для тестирования есть раздел, в котором объясняется, как настроить порт на тестах интеграции:
При тестах интеграции конфигурация порта выполняется с использованием значений аннотации @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
, если определено.
- Если определено с помощью
@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() {
}
}
Ответ 14
При запуске приложения загрузки spring встроенный сервер, такой как Tomcat, начинается с порта по умолчанию. По умолчанию встроенный tomcat начинается с порта 8080. Существует много способов изменить порт сервера по умолчанию.
Использование файла свойств (.properties/.yml)
Чтобы изменить порт сервера с использованием файла свойств, нам нужно настроить свойство server.port.
а. Использование application.properties в пути к классам, например ЦСИ\главная\ресурсы\application.properties
server.port = 8585
Сервер начнет работу с порта 8585. Чтобы получить случайный порт сервера, присвойте 0 свойству.
server.port = 0
Теперь spring boot запустит сервер на порту, который в настоящее время не используется сервером в системе.
б. Использование application.yml в пути к классам, например ЦСИ\главная\ресурсы\application.yml.
server:
port: 8585
Сервер начнет с порта 8585.
Для случайного порта назначьте 0.
server:
port: 0
Использование команды java с --server.port или -Dserver.port
Предположим, что у нас есть исполняемый JAR с именем my-app.jar, а затем при запуске приложения загрузки spring с помощью java-команды мы можем использовать аргумент следующим образом.
Использование --server.port
java -jar my-app.jar --server.port=8585
Использование -Dserver.port
java -jar -Dserver.port=8585 my-app.jar
Сервер начнет работу с порта 8585.
Использование команды java с -port или -Dport в Short
Чтобы сделать --server.port и -Dserver.port коротким, мы можем удалить ключевое слово сервера и сделать его ключевым словом, таким как -port и -Dport. Мы можем использовать любое короткое ключевое слово. Здесь мы используем порт как короткое ключевое слово. Чтобы достичь этого, нам нужно настроить placeholder в файле свойств следующим образом.
Использование application.properties
server.port=${port:8282}
Использование application.yml
server:
port: ${port:8282}
Если мы не передадим порт в качестве аргумента, то по умолчанию сервер начнет с 8282. Если нам нужен другой порт, нам нужно передать требуемый порт в аргументе следующим образом. Предположим, что у нас есть исполняемый JAR, называемый my-app.jar.
Использование --port
java -jar my-app.jar --port=8585
Использование -Dport
java -jar -Dport=8585 my-app.jar
Сервер начнет работу с порта 8585.
Использование SERVER_PORT с программой SpringApplication Programmatically
SpringApplication имеет метод setDefaultProperties(), который используется для изменения свойств загрузки по умолчанию spring. Предположим, мы хотим изменить порт по умолчанию, тогда нам нужно создать карту и поместить порт с ключом 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.
Ответ 15
Есть три способа сделать это в зависимости от используемого файла конфигурации приложения.
а) Если вы используете набор файлов application.properties
server.port = 8090
б) Если вы используете файл application.yml, задайте свойство порта сервера в формате YAML, как указано ниже
server:
port: 8090
c) Вы также можете установить свойство как системное свойство в методе main.
System.setProperty("server.port","8090");
Ответ 16
Есть много других вещей, которые вы можете изменить в конфигурации сервера, изменив application.properties. Как время сеанса, адрес и порт и т.д. См. Ниже сообщение
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
Ответ 17
В файле application.properties
добавьте эту строку:
server.port = 65535
где разместить этого тьфу:
24.3. Файлы свойств приложения
SpringApplication загружает свойства из файлов application.properties в следующих местах и добавляет их в среду Spring:
A /config subdirectory of the current directory The current directory A classpath /config package The classpath root
Список упорядочен по приоритету (свойства, определенные в местоположениях выше в списке, переопределяют свойства, определенные в нижних местоположениях).
В моем случае я положил его в каталоге, где jar
стоит файл.
От:
Ответ 18
-
Как сказали все, вы можете указать в application.properties
server.port = 9000 (может быть любое другое значение) -
Если вы используете исполнительный механизм spring в своем проекте, по умолчанию он указывает на 8080, и если вы хотите изменить его, то в application.properties указывается
management.port = 9001 (может быть любое другое значение)
Ответ 19
Добавьте это в файл application.properties
server.port= 8080
Ответ 20
По умолчанию приложение весенней загрузки запускается со встроенного сервера tomcat, запускается с порта 8080 по умолчанию. Spring предоставляет вам следующие различные настройки, вы можете выбрать один из них.
ПРИМЕЧАНИЕ. Вы можете использовать server.port = 0. Весенняя загрузка найдет для нас любой неназначенный случайный порт http.
1) application.properties
server.port=2020
2) application.yml
server:
port : 2020
3) Изменить порт сервера программно
3.1) Реализация интерфейса WebServerFactoryCustomizer - Spring 2.x
@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
// customize the factory here
factory.setPort(2020);
}
}
3.2) Реализация интерфейса EmbeddedServletContainerCustomizer - Spring 1.x
@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
Ответ 21
В самом деле, самый простой способ - установить свойство server.port.
Если вы используете STS как IDE, из версии 3.6.7 у вас действительно есть Spring редактор свойств для открытия файла свойств.
Этот редактор предоставляет автозаполнение для всех свойств Spring Boot. Если вы пишете порт и нажимаете CTRL + SPACE, первым вариантом будет server.port.
Ответ 22
Например, использование свойства server.port = 8080, например, упомянутое в других ответах, безусловно, способ пойти. Просто хотел упомянуть, что вы также можете открыть свойство среды:
SERVER_PORT=8080
Так как весенний ботинок может заменить "." для "_" и ниже в случае с UPPER для переменных среды в последних версиях. Это особенно полезно в контейнерах, где все, что вам нужно сделать, это определить эту переменную среды без добавления/редактирования application.properties
или передачи свойств системы через командную строку (то есть -Dserver.port=$PORT
)
Ответ 23
Надеюсь, что эта помощь
application.properties=> server.port=8090 application.yml=> server port:8090
Ответ 24
Указание номера порта в файле application.properties решит проблему
server.port = 8080
"порт зависит от вашего выбора, где вы хотите разместить приложение"
Ответ 25
Вы можете настроить порт в файле application.properties server.port=8090
ИЛИ
во время выполнения вы можете использовать командную строку arg -Dserver.port=8090
Ответ 26
Просто выполните application.properties
в src/main/resources
проекта и дайте там
server.port=****
где ****
относится к номеру порта.
Ответ 27
1.1 Обновление через файл свойств.
/src/main/resources/application.properties
server.port = 8888
Обновление через файл yaml.
server:
port: 8888
EmbeddedServletContainerCustomizer
@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(8888);
}
}
Ответ 28
Вы можете добавить порт ниже.
-
Выполнить → раздел Конфигурации
-
В
application.xml
добавитьserver.port=XXXX
Ответ 29
Вы можете установить это в application.properties в разделе /src/main/resources/
server.port = 8090
Ответ 30
Вы также можете использовать переменную среды SERVER_PORT
для настройки порта загрузки Spring. Просто установите переменную окружения и перезапустите приложение:
set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux
Обратите внимание, что если вы не установите эти переменные среды в системе, вы должны запустить загрузочное приложение в тот же сеанс.