Comment configurer le port D'une application de démarrage à ressort
comment configurer le port TCP/IP écouté par une application de démarrage à ressort, pour qu'il n'utilise pas le port par défaut de 8080.
30 réponses
  Comme   , a déclaré dans les docs    définir  server.port  en tant que système de la propriété à l'aide de ligne de commande option pour jvm  --server.port=8090  ou d'ajouter  application.properties  dans  /src/main/resources/  avec  
server.port = 8090
Pour le port aléatoire utiliser
server.port=0
il y a deux façons principales de changer le port dans le Tomcat intégré dans une application de démarrage à ressort.
modifier la demande.propriétés
vous pouvez d'abord essayer l'application.fichier de propriétés dans le dossier /resources:
    
      
modifier une option VM
la seconde façon, si vous voulez éviter de modifier tous les fichiers et la vérification de quelque chose dont vous n'avez besoin que sur votre local, vous pouvez utiliser un VM arg:
Aller à Exécuter -> Modifier les Configurations -> VM options
-Dserver.port=8090
    
      
en outre, si vous avez besoin de plus d'informations, vous pouvez consulter le blog suivant ici: changer le port sur une application de démarrage à ressort
vous pouvez aussi configurer le port de manière programmée
@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setPort(8012);
        });
    }
}
  puisque la botte de printemps fournit    divers mécanisme d'externalisation de configuration    (par diverses  PropertySource  implémentations et/ou processeurs câblés dans  Environment  objet dans l'ordre), vous pouvez définir n'importe quelle propriété    en dehors de    de votre archive jar par les méthodes suivantes:  
-    Passer de la propriété à travers argument de ligne de commande comme "1519280920 application" argument java -jar <path/to/my/jar> --server.port=7788
-    propriété SPRING_APPLICATION_JSON(le Printemps de Démarrage 1.3.0+)-    Définir la variable d'environnement dans U*IX shell: 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 à travers argument de ligne de commande: java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
 
-    
-    Définir système JVM des biens java -Dserver.port=7788 -jar <path/to/my/jar>
-    Définir OS de la variable d'environnement -    U*IX Shell SERVER_PORT=7788 java -jar <path/to/my/jar>
-    Windows SET SERVER_PORT=7788 java -jar <path/to/my/jar>
 
-    
-    Place de la propriété dans ./config/application.propertiesfichier de configurationserver.port=7788et courir: java -jar <path/to/my/jar>
-    Place de la propriété dans ./config/application.yamlserver: port: 7788et courir: java -jar <path/to/my/jar>
-    Place de la propriété dans ./application.propertiesserver.port=7788et courir: java -jar <path/to/my/jar>
-    Placer la propriété dans ./application.yamlserver: port: 7788et courir: java -jar <path/to/my/jar>
vous pouvez combiner toutes les méthodes ci-dessus ensemble, et la première configuration dans la liste a priorité sur la dernière.
par exemple:
SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
le serveur démarre et écoute sur le port 7788.
C'est très utile fournir des propriétés par défaut dans PropertySources avec une priorité plus faible (et généralement empaqueté dans l'archive ou codé dans la source), et puis le surcharger dans l'environnement runtime. Et c'est la philosophie de conception de la botte de printemps:
être opinionated hors de la boîte, mais sortir de la voie rapidement que les exigences commencent à diverger des valeurs par défaut.
   SERVER_NAME  à  server.name   la conversion a été effectuée par    relax Binding    .  
vous pouvez définir le port en code java:
HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);
new SpringApplicationBuilder()
    .sources(SampleController.class)                
    .properties(props)
    .run(args);
ou en application.yml:
server:
    port: 9999
ou en application.propriétés:
server.port=9999
ou comme paramètre de ligne de commande:
-Dserver.port=9999
 dans le cas où vous utilisez application.yml , ajouter les lignes suivantes:" 
  
server:
     port: 9000
et bien sûr 0 pour port aléatoire.
comme expliqué dans documentation de ressort , il y a plusieurs façons de le faire:
soit vous mettez 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 l'application.propriétés
server.port=${port:4588}
ou (en application.YML avec la syntaxe yaml)
server:
   port: ${port:4588}
si le port est passé par-Dport (or-Dserver.port) est défini en ligne de commande alors ce port sera pris en compte. Si non, alors 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, vous n'avez qu'à écrire:
server.port=8888
  Inclure ci-dessous propriété  application.properties   
server.port=8080
quand vous avez besoin d'une façon programmatique de le faire, vous pouvez le définir au démarrage:
System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);
cela pourrait aider pour des choses comme le port dépendant de l'environnement. Have a nice day
 vous pouvez spécifier le port en écrasant EmbeddedServletContainerFactory  dans votre configuration (basé sur java ou xml). Là, vous pouvez spécifier le port pour le conteneur de servlet intégré utilisé. S'il vous plaît, voir    Boot - Core de ressort    "support du conteneur Servlet intégré" paragraphe et exemple là. Espérons que cette aide.  
d'étendre D'autres réponses:
il y a une section dans le docs for testing qui explique comment configurer le port sur les tests d'intégration:
  lors des tests d'intégration, la configuration du port est effectuée en utilisant l'annotation  @SpringBootTest et les valeurs webEnvironment .  
port Aléatoire:
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
 vous pouvez injecter la valeur en utilisant @LocalServerPort qui est la même que @Value("${local.server.port}") .  
- exemple:
port Aléatoire configuration de test:
@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
   ...
   @LocalServerPort //to inject port value
   int port;
}
port défini:
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)
 il prend la valeur de server.port  si est défini.  
-   si défini par  @TestPropertySource(properties = "server.port=9192"), il l'emporte sur les autres valeurs définies.
-   Si non, il prend la valeur de  src/test/resources/application.properties(s'il existe).
-  et enfin, si elle n'est pas définie, elle commence par la valeur par défaut 8080.
exemple:
définition de l'essai d'ouverture configuration:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {
    @Test
    public void contextLoads() {
    }
}
  Dans  application.properties  fichier présent dans les ressources:  
server.port=8082
lorsque l'application spring boot démarre, le serveur embarqué tel que Tomcat démarre avec un port par défaut. Le tomcat embarqué démarre avec le port 8080 par défaut. Il y a plusieurs façons de changer le port de serveur par défaut.
En Utilisant La Propriété De Fichier (.propriété./yml)
pour changer le port du serveur en utilisant le fichier de propriété, nous devons configurer serveur.port "1519170920 de la propriété".
A. Utilisation de l'application.propriétés dans le classpath comme src\main\ressources\application.propriétés
server.port = 8585
le serveur démarre avec le port 8585. Pour obtenir le port de serveur aléatoire, assignez 0 à la propriété.
server.port = 0
maintenant, spring boot va démarrer le serveur sur un port qui n'est actuellement utilisé par aucun serveur dans le système.
B. Utilisation de l'application.yml dans classpath tel que: src\main\ressources\application.yml.
server:
  port: 8585 
démarre avec le port 8585.
pour port aléatoire, assignez 0.
server:
  port: 0 
utilisant la commande java avec --server.port ou -Dserver.port
supposons que nous ayons un JAR exécutable nommé my-app.jar, puis en démarrant l'application de démarrage de printemps en utilisant la commande java, nous pouvons utiliser l'argument comme suit.
utilisant --server.port
java -jar my-app.jar  --server.port=8585
Utilisant-Dserver.port
java -jar -Dserver.port=8585 my-app.jar
démarre avec le port 8585.
utilisant la commande java avec -- port ou-Dport en abrégé
pour faire --server.port et-Dserver.port en bref, nous pouvons supprimer le mot-clé server et en faire n'importe quel mot-clé court tel que --port et-Dport. On peut utiliser à court de mots clés. Ici, nous utilisons le port comme mot clé court. Pour y parvenir, nous devons configurer placeholder dans le fichier de propriétés comme suit.
en utilisant application.propriétés
server.port=${port:8282}
en utilisant application.yml
server:
   port: ${port:8282}
si nous ne passons pas le port comme argument, alors par défaut le serveur commencera avec 8282. Si nous voulons un port différent, alors nous devons passer le port désiré dans l'argument comme suit. Supposons que nous ayons un JAR exécutable nommé my-app.pot.
utilisant --port
java -jar my-app.jar --port=8585 
En Utilisant-Dport
java -jar -Dport=8585 my-app.jar 
démarre avec le port 8585.
utilisant SERVER_PORT avec SpringApplication Programmatically
SpringApplication a une méthode comme setDefaultProperties() qui est utilisée pour changer les propriétés par défaut de démarrage à ressort. Supposons que nous voulons changer le port par défaut, alors nous devons créer une carte et mettre un port avec la clé SERVER_PORT. Trouver l' exemple.
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);
        }     
} 
démarrage à ressort démarrera le serveur avec le port 8585.
il y a beaucoup d'autres choses que vous pouvez modifier dans la configuration du serveur en changeant l'application.propriété. Comme le temps de session, l'adresse et le port etc. Voir ci-dessous
réf: http://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html
j'ai utilisé peu d'entre eux comme ci-dessous.
server.session.timeout=1
server.port = 3029
server.address= deepesh
-    comme tout le monde l'a dit, Vous pouvez spécifier dans l'application.propriétés 
 serveur.port = 9000 (pourrait être n'importe quelle autre valeur)
-    si vous utilisez l'actionneur de ressort dans votre projet, par défaut il pointe à 
 8080, et si vous voulez le modifier, puis dans l'application.mention
 gestion.port = 9001 (pourrait être toute autre valeur)
en effet, la façon la plus simple est de configurer le serveur .port propriété.
si vous utilisez STS comme IDE, de la version 3.6.7 vous avez en fait éditeur de propriétés de ressort pour ouvrir le fichier de propriétés.
cet éditeur fournit autocomplete pour toutes les propriétés de démarrage de ressort. Si vous écrivez port et appuyez sur Ctrl + SPACE, serveur.port sera le premier option.
  Ajouter ceci dans votre  application.properties  fichier  
server.port= 8080
1.1 Mise à jour via un fichier de propriétés.
/src/main/resources/de l'application.propriétés
server.port = 8888
mise à jour via un fichier yaml.
   server:
     port: 8888
EmbeddedServletContainerCustomizer
@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort(8888);
    }
}
Espérons que cette aide
application.properties=> server.port=8090 application.yml=> server port:8090
  Juste un  application.properties  dans  src/main/resources  du projet et de donner il  
server.port=****
 où ****  fait référence au numéro de port.  
utilisant le serveur de propriétés.port=8080 par exemple comme mentionné dans d'autres réponses est certainement un chemin à parcourir. Je voulais juste mentionner que vous pourriez également exposer une propriété de l'environnement:
SERVER_PORT=8080
  puisque la botte à ressort peut remplacer "."pour les "_" et à réduire les majuscules pour les variables d'environnement dans les versions récentes.
Ceci est particulièrement utile dans les conteneurs où tout ce que vous avez à faire est de définir cette variable d'environnement sans ajouter /éditer  application.properties  ou passer les propriétés du système en ligne de commande (I. e  -Dserver.port=$PORT )  
vous pouvez ajouter le port dans les méthodes ci-dessous.
-    Exécuter -> Configurations de la section 
-   dans application.xmlajouterserver.port=XXXX
vous pouvez définir cela dans l'application.Propriétés sous / src/main/ resources /
server.port = 8090
  fonctionne principalement sur  port:8080  à cause de Tomcat intégré. Dans certains, il peut jeter une erreur  port 8080 already in use  . Pour éviter ce genre de problèmes, nous pouvons config le port du serveur.  
en utilisant application.propriétés
  ajouter  server.port=9898   
de l'exécution de config
lancez votre application avec les arguments ci-dessous.
  spring-boot:run -Drun.jvmArguments='-Dserver.port=8081'   
il y a trois façons de le faire
  1 Serveur de jeu.port propriété dans  application.properties  fichier  
server.port = 8090
  2 Propriétés du port de Set server dans  application.yml  file  
server:
     port: 8090
  3 Définir la propriété comme propriété de système dans  main  méthode  
System.setProperty("server.port","8090");
 vous pouvez également utiliser la variable d'environnement SERVER_PORT  pour configurer le port de démarrage. Il suffit de définir la variable d'environnement et de redémarrer l'application:  
set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux
veuillez noter que si vous ne définissez pas ces variables d'environnement à l'échelle du système, vous devriez lancer l'application de démarrage sur la même session.
Le port par défaut est : 8080 mais nous pouvons personnaliser le numéro de port dans l'application.propriété comme indiqué ci-dessous
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
server.port = 5050 -- #here we can give any port number.
cette question Est le premier résultat si vous utilisez google pour Port à ressort Grad .
si vous utilisez gradle vous pouvez faire quelque chose comme cela si vous avez le Plugin de démarrage à ressort déjà appliqué:
bootRun {
    args += ["--server.port=[PORT]"]
}
pour une réponse plus sophistiquée voir ma réponse ici .
si vous travaillez sur des projets d'amorçage et que vous voulez configurer le port, vous pouvez entrer les données dans l'application.fichier de propriétés comme NOTE:le fichier de propriétés doit être sous src/main/resource
propriétés des ressorts
server.port=9999 Si vous utilisez le CMD alors suivez cette commande - Dserver.port=9999 Pour le port par défaut son serveur.port=0 Assurez-vous qu'aucun port est à l'aide de ce numéro de port