Question Spring Boot - comment configurer le port


Vous cherchez comment configurer le port dans l'application de démarrage de Spring:

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

C'est toutes les sources :)


489
2018-01-13 02:59


origine


Réponses:


Comme dit dans docs soit ensemble server.port en tant que propriété système à l'aide de l'option de ligne de commande de jvm --server.port=8090 ou ajouter application.properties dans /src/main/resources/ avec

server.port = 8090

Pour une utilisation de port aléatoire

server.port=0

807
2018-01-13 03:14



Il y a deux manières principales de changer le port dans le Tomcat incorporé dans une application de démarrage de ressort.

Modifier application.properties

Tout d'abord, vous pouvez essayer le fichier application.properties dans le dossier / resources:

application.properties file

Modifier une option de machine virtuelle

La deuxième façon, si vous voulez éviter de modifier des fichiers et d’enregistrer quelque chose dont vous n’avez besoin que sur votre version locale, vous pouvez utiliser un vm arg:

Allez dans Exécuter -> Modifier les configurations -> Options de la machine virtuelle

-Dserver.port=8090

Change port with a vm arg

De plus, si vous avez besoin de plus d’informations, vous pouvez consulter l’article suivant: Modification du port sur une application de démarrage Spring


105
2018-05-14 23:57



De plus, vous pouvez configurer le port par programmation

@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setPort(8012);
        });
    }
}

79
2017-11-03 18:29



Depuis Spring Boot fournit divers mécanismes d'externalisation de la configuration (par divers PropertySource les implémentations et / ou processeurs câblés dans Environment objet dans l'ordre), vous pouvez définir toute propriété à l'extérieur de votre archive jar par les méthodes suivantes:

  1. Transmettre la propriété via l'argument de la ligne de commande argument d'application

    java -jar <path/to/my/jar> --server.port=7788
    
  2. De la propriété à SPRING_APPLICATION_JSON (Spring Boot 1.3.0+)

    • Définir la variable d'environnement dans le shell U * IX:

      SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
      
    • En utilisant la propriété système Java:

      java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
      
    • Passer l'argument de la ligne de commande:

      java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
      
  3. Définir Propriété du système JVM

    java -Dserver.port=7788 -jar <path/to/my/jar>
    
  4. Définir Variable d'environnement OS

    • Shell U * IX

      SERVER_PORT=7788 java -jar <path/to/my/jar>
      
    • les fenêtres

      SET SERVER_PORT=7788
      java -jar <path/to/my/jar>
      
  5. Placez la propriété dans ./config/application.properties  fichier de configuration

    server.port=7788
    

    et courir:

     java -jar <path/to/my/jar>
    
  6. Placez la propriété dans ./config/application.yaml

    server:
        port: 7788
    

    et courir:

     java -jar <path/to/my/jar>
    
  7. Placez la propriété dans ./application.properties

    server.port=7788
    

    et courir:

     java -jar <path/to/my/jar>
    
  8. Placez la propriété dans ./application.yaml

    server:
        port: 7788
    

    et courir:

     java -jar <path/to/my/jar>
    

Vous pouvez combiner les méthodes ci-dessus toutes ensemble, et l'ancienne configuration de la liste a préséance sur la dernière.

Par exemple:

SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788

Le serveur va démarrer et écouter sur le port 7788.

Ceci est très utile pour fournir des propriétés par défaut dans PropertySources avec une priorité inférieure (et généralement empaquetée dans l'archive ou codée dans la source), puis la remplacer dans l'environnement d'exécution. Et c'est la philosophie de conception de Spring Boot:

Soyez avisé hors de la boîte, mais sortez de la voie rapidement que les exigences commencent à diverger des valeurs par défaut.


SERVER_NAME à server.name la conversion a été faite par Reliure décontractée.


66
2017-11-29 17:39



Vous pouvez définir le port dans le code Java:

HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);

new SpringApplicationBuilder()
    .sources(SampleController.class)                
    .properties(props)
    .run(args);

Ou dans application.yml:

server:
    port: 9999

Ou dans application.properties:

server.port=9999

Ou en tant que paramètre de ligne de commande:

-Dserver.port=9999

65
2018-03-17 16:58



Comme expliqué dans Documentation printanière, il y a plusieurs façons de le faire:

Soit vous définissez le port dans la ligne de commande (par exemple 8888)

-Dserver.port=8888 ou --server.port=8888

Exemple : java -jar -Dserver.port=8888 test.jar

Ou vous définissez le port dans le fichier application.properties

server.port=${port:4588}

ou (dans application.yml avec la syntaxe yaml)

server:
   port: ${port:4588}

Si le port passé par -Dport (ou -Dserver.port) est défini sur la ligne de commande, ce port sera pris en compte. Sinon, le port sera 4588 par défaut.

Si vous voulez appliquer le port dans le fichier de propriétés quelle que soit la variable d'environnement, il suffit d'écrire:

server.port=8888

38
2018-01-21 13:21



Dans le cas où vous utilisez application.yml ajoutez les lignes suivantes

server:
     port: 9000

et bien sûr 0 pour le port aléatoire.


37
2017-12-03 19:30



Si vous souhaitez le faire en l'exécutant localement plutôt que de l'utiliser -

mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'


26
2018-04-15 23:00



Par défaut, les applications Spring Boot s'exécutent sur un port Tomcat intégré via un port 8080.

Pour changer le port par défaut, il vous suffit de modifier port de serveur attribut qui est lu automatiquement à l'exécution par les applications Spring Boot.

Vous pouvez le modifier des trois manières suivantes:

  1. Définir port de serveur en dessous de application.properties comme ci-dessous:
server.port=9090
  1. Définir port de serveur par programmation à travers la mise en œuvre EmbeddedServletContainerCustomizer interface.

  2. Ensemble port de serveur explicitement lors du démarrage de l'application via la ligne de commande comme suit:

java -Dserver.port = 9090 -jar executable.jar

java -jar executable.jar -server.port = 9090

Vérifiez l'explication des détails ici: Comment changer le port par défaut de l'application Spring Boot


18
2018-06-01 10:41