aplicación de inicio de la primavera se inicia sin nombre de la aplicación adecuada

soñador:

cuando se ejecuta

./mvnw spring-boot:run

aplicación de inicio de la primavera actual se abrirá en el navegador con la URL actual

http://localhost:8080/

pero no

http://localhost:8080/AppName

Así que incluso en las API Swagger tiene que recuperar como esto

http://localhost:8080/api/swagger.json

en lugar de esto

http://localhost:8080/AppName/api/swagger.json

Entonces, ¿cómo añadir el AppNameen el contexto? Fácil en los viejos tiempos en web.xml está basado en XML, en la configuración basada en Java que tengo ADD

spring.application.name=AppName

pero todavía no resuelven el problema.

Shanti Bhardwaz:

Entonces, ¿cómo añadir el AppName en el contexto?

Primavera de arranque, por defecto, ofrece contenido en la ruta de contexto raíz ( “/”), pero podemos cambiar de diferentes maneras.
1) Usando application.properties / yml

   For Boot 1.x, the property is server.context-path=/AppName
   For Boot 2.x, the property is server.servlet.context-path=/AppName

2) El uso de la propiedad del sistema Java

public static void main(String[] args) {
    System.setProperty("server.servlet.context-path", "/AppName");
    SpringApplication.run(Application.class, args);
}

3) El uso de la variable de entorno del sistema operativo
En Linux: - $ export SERVER_SERVLET_CONTEXT_PATH=/AppName
En Windows: -set SERVER_SERVLET_CONTEXT_PATH=/AppName

4) Utilización de argumentos de línea de comandos

$ java -jar app.jar --server.servlet.context-path=/AppName

5) Uso de Java Config

Con la primavera de arranque 2, podemos utilizar WebServerFactoryCustomizer:

@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory>
  webServerFactoryCustomizer() {
    return factory -> factory.setContextPath("/AppName");
}

Con la primavera de arranque 1, podemos crear una instancia de EmbeddedServletContainerCustomizer:

@Bean
public EmbeddedServletContainerCustomizer
  embeddedServletContainerCustomizer() {
    return container -> container.setContextPath("/AppName");
}

Nota: - El orden de prioridad con el fin, que utiliza la primavera de arranque para seleccionar la configuración efectiva descendente:

Java Config
argumentos de línea de comandos
Java System Properties
OS variables de entorno
application.properties en el directorio actual
Application.properties en la ruta de clase (src / main / o recursos del archivo jar empaquetado)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=224145&siteId=1
Recomendado
Clasificación