si usa el archivo "yml" para la configuración, puede usar este servidor: puerto: 8081 También anote su clase principal como "@SpringBootApplication" y elimine @ EnableAutoConfiguration
Keaz
su proyecto [application.properties] para agregar el server.port = 8080
Lahiru Samishka
establecido server.port=8080en las propiedades de la aplicación. esta configuración está en ServerProperties.classclase bajo org.springframework.boot.autoconfigure.web.
Atif
Respuestas:
1227
Como se dijo en documentos bien establecidas server.portcomo propiedad del sistema mediante la opción de línea de comandos para JVM -Dserver.port=8090o añadir application.propertiesen /src/main/resources/la
Como complemento a esta respuesta: de acuerdo con los documentos de primavera, hay otros caminos que puede seguir application.properties. En mi caso eso ayudó mucho.
sargas
14
-Dserver.port = XXXX no funcionó para mí. Utilicé el modo variable de entorno del sistema operativo: $ SERVER_PORT=8090 java -jar <path/to/my/jar>
Soumya Kanti
10
Ambos (1) java -Dserver.port=XXXX -jar <path/to/my/jar>y (2) java -jar <path/to/my/jar> --server.port=YYYYfuncionan. El primer comando define la server.portpropiedad del sistema, y el segundo comando pasa la propiedad a través de los argumentos de la línea de comando ( String... argsen el mainmétodo). Además, si ejecuta con java -Dserver.port=XXXX -jar <path/to/my/jar> --server.port=YYYY, YYYYtiene prioridad sobre XXXX, esta es la razón por la cual Spring Boot Externalized Configuration es tan encantadora.
tan9
210
Hay dos formas principales de cambiar el puerto en Embedded Tomcat en una aplicación Spring Boot.
Modificar application.properties
Primero puede probar el archivo application.properties en la carpeta / resources:
server.port =8090
Modificar una opción de VM
La segunda forma, si desea evitar modificar cualquier archivo y registrar algo que solo necesita en su local, puede usar un argumento vm:
Vaya a Ejecutar -> Editar configuraciones -> Opciones de VM
En STS 4 está en ejecución -> configuraciones de ejecución -> principal, luego desplácese hacia abajo hasta Tabla con nombre y valor de parámetro
serv-inc
155
Dado que Spring Boot proporciona varios mecanismos de externalización de configuración (a través de diversas PropertySourceimplementaciones y / o procesadores conectados a un Environmentobjeto en orden), puede establecer cualquier propiedad fuera de su archivo jar a través de los siguientes métodos:
Pase la propiedad a través del argumento de la línea de comando como argumento de la aplicación
java -jar <path/to/my/jar>--server.port=7788
De la propiedad en SPRING_APPLICATION_JSON(Spring Boot 1.3.0+)
El servidor se iniciará y escuchará en el puerto 7788.
Esto es muy útil al proporcionar propiedades predeterminadas en PropertySources con menor prioridad (y generalmente empaquetadas en el archivo comprimido o codificadas en la fuente), y luego anularlas en el entorno de tiempo de ejecución. Y es la filosofía de diseño de Spring Boot:
Sea obstinado fuera de la caja, pero salga del camino rápidamente ya que los requisitos comienzan a diferir de los valores predeterminados.
SERVER_NAMEa la server.nameconversión se realizó por Enlace Relajado .
O configura el puerto en la línea de comando (por ejemplo, 8888)
-Dserver.port=8888 o --server.port=8888
Ejemplo: java -jar -Dserver.port=8888 test.jar
O configura el puerto en la aplicación.
server.port=${port:4588}
o (en application.yml con sintaxis yaml)
server:
port: ${port:4588}
Si el puerto pasado por -Dport (o -Dserver.port) se establece en la línea de comando, este puerto se tendrá en cuenta. Si no, entonces el puerto será 4588 por defecto.
Si desea aplicar el puerto en el archivo de propiedades, sea cual sea la variable de entorno, solo tiene que escribir:
System.setProperty("server.port", 80);Es otra forma de lograr lo mismo.
hd1
@ hd1, agregué nuestras respuestas a la respuesta principal, compruébelo y modifíquelo como le parezca, por favor
Luis Mauricio
18
Puede especificar el puerto anulando el EmbeddedServletContainerFactorybean dentro de su configuración (basado en Java o XML). Allí puede especificar el puerto para el contenedor de servlet incorporado utilizado. Consulte el apartado Spring Boot - Core "Embedded Servlet Container Support" y el ejemplo aquí. Espero que esto ayude.
Cuando se inicia la aplicación Spring Boot, el servidor incorporado, como Tomcat, comienza con un puerto predeterminado. El tomcat incorporado comienza con el puerto 8080 como predeterminado. Hay muchas formas de cambiar el puerto predeterminado del servidor.
Uso del archivo de propiedades (.properties / .yml)
Para cambiar el puerto del servidor usando el archivo de propiedades, necesitamos configurar la propiedad server.port .
a. Uso de application.properties en classpath como
src \ main \ resources \ application.properties
server.port =8585
El servidor comenzará con el puerto 8585. Para obtener un puerto de servidor aleatorio, asigne 0 a la propiedad.
server.port =0
Ahora Spring Boot iniciará el servidor en un puerto que ningún servidor del sistema esté utilizando actualmente.
si. Usando application.yml en classpath como
src \ main \ resources \ application.yml.
server:
port:8585
El servidor comenzará con el puerto 8585.
Para puerto aleatorio, asigne 0.
server:
port:0
Uso del comando java con --server.port o -Dserver.port
Supongamos que tenemos un JAR ejecutable llamado my-app.jar, luego, al iniciar la aplicación de arranque de primavera usando el comando java, podemos usar el argumento de la siguiente manera.
Usando --server.port
java -jar my-app.jar --server.port=8585
Usando -Dserver.port
java -jar -Dserver.port=8585 my-app.jar
El servidor comenzará con el puerto 8585.
Usando Java Command con --port o -Dport en resumen
Para resumir --server.port y -Dserver.port, podemos eliminar la palabra clave del servidor y convertirla en una palabra clave breve como --port y -Dport. Podemos usar cualquier palabra clave corta. Aquí estamos usando port como palabra clave corta. Para lograrlo, necesitamos configurar el marcador de posición en el archivo de propiedades de la siguiente manera.
Usando application.properties
server.port=${port:8282}
Usando application.yml
server:
port: ${port:8282}
Si no pasamos el puerto como argumento, por defecto el servidor comenzará con 8282. Si queremos un puerto diferente, entonces necesitamos pasar el puerto deseado en el argumento de la siguiente manera. Supongamos que tenemos un JAR ejecutable llamado my-app.jar.
Usando --port
java -jar my-app.jar --port=8585
Usando -Dport
java -jar -Dport=8585 my-app.jar
El servidor comenzará con el puerto 8585.
Usando SERVER_PORT con SpringApplication mediante programación
SpringApplication tiene un método como setDefaultProperties () que se usa para cambiar las propiedades predeterminadas de arranque de Spring. Supongamos que queremos cambiar el puerto predeterminado, entonces necesitamos crear un Mapa y colocar un puerto con la clave SERVER_PORT. Encuentra el ejemplo.
Hay muchas otras cosas que puede modificar en la configuración del servidor cambiando application.properties. Como tiempo de espera de sesión, dirección y puerto, etc. Consulte la siguiente publicación
Como todos dijeron, puede especificar en application.properties server.port = 9000 (podría ser cualquier otro valor)
Si está utilizando un actuador de resorte en su proyecto, por defecto apunta a
8080, y si desea cambiarlo, en application.properties mencione management.port = 9001 (podría ser cualquier otro valor)
¿Por qué agregar lo mismo un año después? y server.port 8080es una sintaxis incorrecta para el archivo de propiedades Java ...
Betlista
12
En el application.propertiesarchivo, agregue esta línea:
server.port = 65535
donde colocar ese fie:
24.3 Archivos de propiedades de la aplicación
SpringApplication carga propiedades de los archivos application.properties en las siguientes ubicaciones y las agrega al Spring Environment:
A /config subdirectory of the current directory
The current directory
A classpath /config packageThe classpath root
La lista está ordenada por precedencia (las propiedades definidas en ubicaciones superiores en la lista anulan las definidas en ubicaciones inferiores).
En mi caso, lo puse en el directorio donde se encuentra el jararchivo.
De forma predeterminada, la aplicación de inicio de Spring comienza con el servidor Tomcat incorporado, comienza en el puerto predeterminado 8080. Spring le proporciona la siguiente personalización diferente, puede elegir uno de ellos.
NOTA : puede usar server.port = 0 spring boot encontrará cualquier puerto aleatorio http no asignado para nosotros.
1) aplicaciones.propiedades
server.port=2020
2) application.yml
server:
port :2020
3) Cambiar el puerto del servidor mediante programación
3.1) Al implementar la interfaz WebServerFactoryCustomizer - Spring 2.x
@ComponentpublicclassMyTomcatWebServerCustomizerimplementsWebServerFactoryCustomizer<TomcatServletWebServerFactory>{@Overridepublicvoid customize(TomcatServletWebServerFactory factory){// customize the factory here
factory.setPort(2020);}}
3.2) Implementando la interfaz EmbeddedServletContainerCustomizer - Spring 1.x
@ComponentpublicclassCustomizationBeanimplementsEmbeddedServletContainerCustomizer{@Overridepublicvoid customize(ConfigurableEmbeddedServletContainer container){// customize here
container.setPort(2020);}}
De hecho, la forma más fácil es establecer la propiedad server.port .
Si está utilizando STS como IDE, desde la versión 3.6.7 realmente tiene Spring Properties Editor para abrir el archivo de propiedades.
Este editor proporciona autocompletado para todas las propiedades de Spring Boot. Si escribe puerto y presiona CTRL + ESPACIO, server.port será la primera opción.
O también, si está utilizando Intellij IDEA, el autocompletado también funciona. ;)
Lucky
9
Usar la propiedad server.port = 8080, por ejemplo, como se menciona en otras respuestas, definitivamente es un camino a seguir. Solo quería mencionar que también podría exponer una propiedad de entorno:
SERVER_PORT=8080
Dado que la bota de primavera puede reemplazar "." para "_" y menor a MAYÚSCULAS para variables de entorno en versiones recientes. Esto es especialmente útil en contenedores donde todo lo que tiene que hacer es definir esa variable de entorno sin agregar / editar application.propertieso pasar propiedades del sistema a través de la línea de comandos (es decir -Dserver.port=$PORT)
También puede usar SERVER_PORTla variable de entorno para configurar el puerto Spring Boot. Simplemente configure la variable de entorno y reinicie la aplicación:
set SERVER_PORT=9999// on windows machine
export SERVER_PORT=9999// on linux
Tenga en cuenta que si no configura esas variables de entorno en todo el sistema, debe ejecutar la aplicación de arranque en la misma sesión.
server.port=8080
en las propiedades de la aplicación. esta configuración está enServerProperties.class
clase bajoorg.springframework.boot.autoconfigure.web
.Respuestas:
Como se dijo en documentos bien establecidas
server.port
como propiedad del sistema mediante la opción de línea de comandos para JVM-Dserver.port=8090
o añadirapplication.properties
en/src/main/resources/
laPara uso de puerto aleatorio
fuente
@Value("${local.server.port}")
application.properties
. En mi caso eso ayudó mucho.$ SERVER_PORT=8090 java -jar <path/to/my/jar>
java -Dserver.port=XXXX -jar <path/to/my/jar>
y (2)java -jar <path/to/my/jar> --server.port=YYYY
funcionan. El primer comando define laserver.port
propiedad del sistema, y el segundo comando pasa la propiedad a través de los argumentos de la línea de comando (String... args
en elmain
método). Además, si ejecuta conjava -Dserver.port=XXXX -jar <path/to/my/jar> --server.port=YYYY
,YYYY
tiene prioridad sobreXXXX
, esta es la razón por la cual Spring Boot Externalized Configuration es tan encantadora.Hay dos formas principales de cambiar el puerto en Embedded Tomcat en una aplicación Spring Boot.
Modificar application.properties
Primero puede probar el archivo application.properties en la carpeta / resources:
Modificar una opción de VM
La segunda forma, si desea evitar modificar cualquier archivo y registrar algo que solo necesita en su local, puede usar un argumento vm:
Vaya a Ejecutar -> Editar configuraciones -> Opciones de VM
Además, si necesita más información, puede ver la siguiente publicación de blog aquí: Cambiar el puerto en una aplicación Spring Boot
fuente
Dado que Spring Boot proporciona varios mecanismos de externalización de configuración (a través de diversas
PropertySource
implementaciones y / o procesadores conectados a unEnvironment
objeto en orden), puede establecer cualquier propiedad fuera de su archivo jar a través de los siguientes métodos:Pase la propiedad a través del argumento de la línea de comando como argumento de la aplicación
De la propiedad en
SPRING_APPLICATION_JSON
(Spring Boot 1.3.0+)Defina la variable de entorno en el shell U * IX:
Al usar la propiedad del sistema Java:
Pase por el argumento de la línea de comando:
Definir propiedad del sistema JVM
Definir variable de entorno del sistema operativo
U * IX Shell
Ventanas
Colocar propiedad en
./config/application.properties
archivo de configuracióny correr:
Colocar propiedad en
./config/application.yaml
y correr:
Colocar propiedad en
./application.properties
y correr:
Colocar propiedad en
./application.yaml
y correr:
Puede combinar todos los métodos anteriores, y la configuración anterior en la lista tiene prioridad sobre la última.
Por ejemplo:
El servidor se iniciará y escuchará en el puerto 7788.
Esto es muy útil al proporcionar propiedades predeterminadas en PropertySources con menor prioridad (y generalmente empaquetadas en el archivo comprimido o codificadas en la fuente), y luego anularlas en el entorno de tiempo de ejecución. Y es la filosofía de diseño de Spring Boot:
SERVER_NAME
a laserver.name
conversión se realizó por Enlace Relajado .fuente
Además, puede configurar el puerto mediante programación
fuente
@Configuration
lugar de@Controller
? Por favor actualice si es así.Puede configurar el puerto en código java:
O en application.yml:
O en application.properties:
O como un parámetro de línea de comando:
fuente
Si desea ejecutarlo localmente, use esto:
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'
A partir de Spring Boot 2.0 , aquí está el comando que funciona (las pistas estaban aquí ):
fuente
spring-boot.run.jvmArguments
.En caso de que esté utilizando,
application.yml
agregue las siguientes líneasy por supuesto 0 para puerto aleatorio.
fuente
Como se explica en la documentación de Spring , hay varias formas de hacerlo:
O configura el puerto en la línea de comando (por ejemplo, 8888)
-Dserver.port=8888
o--server.port=8888
Ejemplo:
java -jar -Dserver.port=8888 test.jar
O configura el puerto en la aplicación.
o (en application.yml con sintaxis yaml)
Si el puerto pasado por -Dport (o -Dserver.port) se establece en la línea de comando, este puerto se tendrá en cuenta. Si no, entonces el puerto será 4588 por defecto.
Si desea aplicar el puerto en el archivo de propiedades, sea cual sea la variable de entorno, solo tiene que escribir:
fuente
Incluir a continuación la propiedad en
application.properties
fuente
Cuando necesite una forma programática de hacerlo, puede configurarlo durante el inicio:
Esto podría ayudar para cosas como el puerto dependiente del entorno. Que tengas un buen día
fuente
System.setProperty("server.port", 80);
Es otra forma de lograr lo mismo.Puede especificar el puerto anulando el
EmbeddedServletContainerFactory
bean dentro de su configuración (basado en Java o XML). Allí puede especificar el puerto para el contenedor de servlet incorporado utilizado. Consulte el apartado Spring Boot - Core "Embedded Servlet Container Support" y el ejemplo aquí. Espero que esto ayude.fuente
En
application.properties
archivo presente en recursos:fuente
Para extender otras respuestas:
Hay una sección en los documentos para pruebas que explica cómo configurar el puerto en las pruebas de integración:
En las pruebas de integración, la configuración del puerto se realiza utilizando la anotación
@SpringBootTest
y loswebEnvironment
valores.Puerto aleatorio:
Puede inyectar el valor utilizando
@LocalServerPort
cual es el mismo que@Value("${local.server.port}")
.Configuración de prueba de puerto aleatorio:
Puerto definido:
Toma el valor de
server.port
si está definido.@TestPropertySource(properties = "server.port=9192")
, anula otros valores definidos.src/test/resources/application.properties
(si existe).8080
.Ejemplo:
Configuración de prueba de puerto definida:
fuente
Cuando se inicia la aplicación Spring Boot, el servidor incorporado, como Tomcat, comienza con un puerto predeterminado. El tomcat incorporado comienza con el puerto 8080 como predeterminado. Hay muchas formas de cambiar el puerto predeterminado del servidor.
Uso del archivo de propiedades (.properties / .yml)
Para cambiar el puerto del servidor usando el archivo de propiedades, necesitamos configurar la propiedad server.port .
El servidor comenzará con el puerto 8585. Para obtener un puerto de servidor aleatorio, asigne 0 a la propiedad.
Ahora Spring Boot iniciará el servidor en un puerto que ningún servidor del sistema esté utilizando actualmente.
El servidor comenzará con el puerto 8585.
Para puerto aleatorio, asigne 0.
Uso del comando java con --server.port o -Dserver.port
Supongamos que tenemos un JAR ejecutable llamado my-app.jar, luego, al iniciar la aplicación de arranque de primavera usando el comando java, podemos usar el argumento de la siguiente manera.
El servidor comenzará con el puerto 8585.
Usando Java Command con --port o -Dport en resumen
Para resumir --server.port y -Dserver.port, podemos eliminar la palabra clave del servidor y convertirla en una palabra clave breve como --port y -Dport. Podemos usar cualquier palabra clave corta. Aquí estamos usando port como palabra clave corta. Para lograrlo, necesitamos configurar el marcador de posición en el archivo de propiedades de la siguiente manera.
Si no pasamos el puerto como argumento, por defecto el servidor comenzará con 8282. Si queremos un puerto diferente, entonces necesitamos pasar el puerto deseado en el argumento de la siguiente manera. Supongamos que tenemos un JAR ejecutable llamado my-app.jar.
El servidor comenzará con el puerto 8585.
Usando SERVER_PORT con SpringApplication mediante programación
SpringApplication tiene un método como setDefaultProperties () que se usa para cambiar las propiedades predeterminadas de arranque de Spring. Supongamos que queremos cambiar el puerto predeterminado, entonces necesitamos crear un Mapa y colocar un puerto con la clave SERVER_PORT. Encuentra el ejemplo.
MyApplication.java
Spring boot iniciará el servidor con el puerto 8585.
fuente
Hay tres formas de hacerlo, dependiendo del archivo de configuración de la aplicación que esté utilizando.
a) Si está utilizando el conjunto de archivos application.properties
server.port = 8090
b) Si está utilizando la propiedad del puerto del servidor del conjunto de archivos application.yml en formato YAML como se indica a continuación
c) También puede establecer la propiedad como propiedad del sistema en el método principal
fuente
si está utilizando gradle como herramienta de compilación, puede configurar el puerto del servidor en su archivo application.yml como:
Si está utilizando Maven, el puerto se puede configurar en su archivo application.properties como:
fuente
server.port = 8291
Hay muchas otras cosas que puede modificar en la configuración del servidor cambiando application.properties. Como tiempo de espera de sesión, dirección y puerto, etc. Consulte la siguiente publicación
ref: http://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html
Utilicé algunos de ellos como a continuación.
fuente
Como todos dijeron, puede especificar en application.properties
server.port = 9000 (podría ser cualquier otro valor)
Si está utilizando un actuador de resorte en su proyecto, por defecto apunta a
8080, y si desea cambiarlo, en application.properties mencione
management.port = 9001 (podría ser cualquier otro valor)
fuente
Agregue esto en su
application.properties
archivofuente
server.port 8080
es una sintaxis incorrecta para el archivo de propiedades Java ...En el
application.properties
archivo, agregue esta línea:server.port = 65535
donde colocar ese fie:
En mi caso, lo puse en el directorio donde se encuentra el
jar
archivo.Desde:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files
fuente
De forma predeterminada, la aplicación de inicio de Spring comienza con el servidor Tomcat incorporado, comienza en el puerto predeterminado 8080. Spring le proporciona la siguiente personalización diferente, puede elegir uno de ellos.
1) aplicaciones.propiedades
2) application.yml
3) Cambiar el puerto del servidor mediante programación
3.1) Al implementar la interfaz WebServerFactoryCustomizer - Spring 2.x
3.2) Implementando la interfaz EmbeddedServletContainerCustomizer - Spring 1.x
4) Al usar la opción de línea de comando
fuente
De hecho, la forma más fácil es establecer la propiedad server.port .
Si está utilizando STS como IDE, desde la versión 3.6.7 realmente tiene Spring Properties Editor para abrir el archivo de propiedades.
Este editor proporciona autocompletado para todas las propiedades de Spring Boot. Si escribe puerto y presiona CTRL + ESPACIO, server.port será la primera opción.
fuente
Usar la propiedad server.port = 8080, por ejemplo, como se menciona en otras respuestas, definitivamente es un camino a seguir. Solo quería mencionar que también podría exponer una propiedad de entorno:
Dado que la bota de primavera puede reemplazar "." para "_" y menor a MAYÚSCULAS para variables de entorno en versiones recientes. Esto es especialmente útil en contenedores donde todo lo que tiene que hacer es definir esa variable de entorno sin agregar / editar
application.properties
o pasar propiedades del sistema a través de la línea de comandos (es decir-Dserver.port=$PORT
)fuente
SERVER_PORT=8081 mvn spring-boot:run
Espero que esta ayuda
fuente
Proporcionar el número de puerto en el archivo application.properties resolverá el problema
"el puerto depende de su elección, dónde desea alojar la aplicación"
fuente
Puede agregar el puerto en los siguientes métodos.
Ejecutar -> sección Configuraciones
En
application.xml
agregarserver.port=XXXX
fuente
application.yml
y qué IDE estás usando? Por favor sea especifico.Puede configurarlo en application.properties en / src / main / resources /
fuente
Apenas tenga una
application.properties
ensrc/main/resources
el proyecto y dar allídonde se
****
refiere al número de puerto.fuente
1.1 Actualización a través de un archivo de propiedades.
/src/main/resources/application.properties
server.port = 8888
Actualización a través de un archivo yaml.
EmbeddedServletContainerCustomizer
fuente
También puede usar
SERVER_PORT
la variable de entorno para configurar el puerto Spring Boot. Simplemente configure la variable de entorno y reinicie la aplicación:Tenga en cuenta que si no configura esas variables de entorno en todo el sistema, debe ejecutar la aplicación de arranque en la misma sesión.
fuente