Как настроить порт для приложения 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:
изменить опции VM
второй способ, если вы хотите избежать изменения каких-либо файлов и проверки того, что вам нужно только на вашем локальном компьютере, вы можете использовать vm арг:
перейти к Run - > изменить конфигурации - > параметры VM
-Dserver.port=8090
кроме того, если вам нужна дополнительная информация вы можете просмотреть следующую блоге здесь: изменение порта в приложении 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
когда вам нужен программный способ сделать это, вы можете установить его во время запуска:
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() {
}
}
при запуске приложения 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
Как все сказали, Вы можете указать в приложении.свойства
сервер.порт = 9000 (может быть любое другое значение)Если вы используете пружинный привод в своем проекте, по умолчанию он указывает на
8080, и если вы хотите изменить его, то в приложении.свойства упоминание
управление.порт = 9001 (может быть любое другое значение)
действительно, самый простой способ-это установить сервер.порт собственность.
Если вы используете STS как IDE, с версии 3.6.7 у вас на самом деле есть Редактор Свойств Spring для открытия свойств файла.
этот редактор обеспечивает автозаполнение для всех свойств Spring Boot. Если вы пишете порт и нажмите CTRL + пробел,сервер.порт будет первым вариантом.
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
)
Вы можете добавить порт в ниже методы.
выполнить -> раздел конфигурации
на
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 Убедитесь, что порт не использует этот номер порта