स्प्रिंग बूट एप्लिकेशन के लिए पोर्ट को कॉन्फ़िगर कैसे करें


796

मैं स्प्रिंग बूट एप्लिकेशन द्वारा सुनी गई टीसीपी / आईपी पोर्ट को कैसे कॉन्फ़िगर करूं, इसलिए यह 8080 के डिफ़ॉल्ट पोर्ट का उपयोग नहीं करता है।


5
यदि कोई दिलचस्पी रखता है, तो यहां दिखाया गया है कि कैसे कई पोर्ट हैं - stackoverflow.com/questions/36357135/…
Betlista

यदि आप कॉन्फ़िगरेशन के लिए "yml" फ़ाइल का उपयोग करते हैं, तो आप इस सर्वर का उपयोग कर सकते हैं: पोर्ट: 8081 आपको "@SpringBootApplication" के रूप में मुख्य वर्ग भी एनोटेट करें और @ EnableAutoConfiguration
Keaz

अपने प्रोजेक्ट [application.properties] को जोड़ने के लिए server.port = 8080
लाहिरु समिस्का

server.port=8080आवेदन गुणों में सेट । इस विन्यास के ServerProperties.classतहत कक्षा में है org.springframework.boot.autoconfigure.web
आतिफ

जवाबों:


1226

के रूप में किए गए दस्तावेज़ों में कहा या तो सेट server.portप्रणाली संपत्ति के रूप में JVM करने के लिए कमांड लाइन विकल्प का उपयोग कर -Dserver.port=8090या ऐड application.propertiesमें /src/main/resources/साथ

server.port=8090

यादृच्छिक पोर्ट उपयोग के लिए

server.port=0

47
जब यादृच्छिक पोर्ट का उपयोग किया जाता है, तो पोर्ट जानकारी मिल सकती है@Value("${local.server.port}")
azizunsal

42
दरअसल कमांड लाइन का विकल्प है --server.port = 8090 not -Dserver.port = 8090। docs.spring.io/spring-boot/docs/current/reference/html/…
Opster ES Ninja - Alper

1
इस उत्तर के लिए एक तारीफ के रूप में: वसंत डॉक्स के अनुसार अन्य रास्ते हैं जिन्हें आप डाल सकते हैं application.properties। मेरे मामले में जिसने बहुत मदद की।
सर्ग

14
-Dserver.port = XXXX ने मेरे लिए काम नहीं किया। मैंने ओएस पर्यावरण चर मोड का इस्तेमाल किया: $ SERVER_PORT=8090 java -jar <path/to/my/jar>
सौम्य कांति

10
दोनों (1) java -Dserver.port=XXXX -jar <path/to/my/jar>और (2) java -jar <path/to/my/jar> --server.port=YYYYकाम करता है। पहले आदेश परिभाषित करता है server.portप्रणाली संपत्ति है, और दूसरा आदेश आदेश पंक्ति तर्क के माध्यम से संपत्ति (पारित String... argsमें mainविधि)। इसके अलावा, अगर आप के साथ चलाने java -Dserver.port=XXXX -jar <path/to/my/jar> --server.port=YYYY, YYYYपर पूर्वता लेता है XXXX, इस कारण है कि वसंत बूट externalized विन्यास इतना आकर्षक है।
tan9

209

स्प्रिंग बूट एप्लिकेशन में एंबेडेड टोमाट में पोर्ट को बदलने के दो मुख्य तरीके हैं।

Application.properties को संशोधित करें

सबसे पहले आप / संसाधन फ़ोल्डर में application.properties फ़ाइल आज़मा सकते हैं:

server.port = 8090

application.properties फ़ाइल

VM विकल्प को संशोधित करें

दूसरा तरीका, यदि आप किसी भी फाइल को संशोधित करने से बचना चाहते हैं और किसी ऐसी चीज की जांच कर रहे हैं, जिसकी आपको केवल अपने स्थानीय जरूरत है, तो आप vg arg का उपयोग कर सकते हैं:

रन पर जाएं -> कॉन्फ़िगरेशन कॉन्फ़िगर करें -> वीएम विकल्प

-Dserver.port=8090

एक vm arg के साथ पोर्ट बदलें

इसके अतिरिक्त, यदि आपको अधिक जानकारी की आवश्यकता है, तो आप निम्नलिखित ब्लॉग पोस्ट यहाँ देख सकते हैं: स्प्रिंग बूट एप्लिकेशन पर पोर्ट बदलना


एसटीएस 4 में यह चल रहा है -> रन कॉन्फ़िगरेशन - मुख्य, फिर पैरामीटर नाम और मान के साथ तालिका पर स्क्रॉल करें
सर्व-इंक

155

चूंकि स्प्रिंग बूट विभिन्न विन्यास बाहरीकरण तंत्र प्रदान करता है (विभिन्न PropertySourceकार्यान्वयन और / या प्रोसेसर Environmentक्रम में ऑब्जेक्ट में तारांकित), आप निम्न विधियों के माध्यम से अपने जार संग्रह के बाहर किसी भी संपत्ति को सेट कर सकते हैं :

  1. आवेदन तर्क के रूप में कमांड लाइन तर्क के माध्यम से संपत्ति पास करें

    java -jar <path/to/my/jar> --server.port=7788
  2. में संपत्ति SPRING_APPLICATION_JSON(स्प्रिंग बूट 1.3.0+)

    • U * IX शेल में पर्यावरण चर को परिभाषित करें:

      SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
    • जावा सिस्टम प्रॉपर्टी का उपयोग करके:

      java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
    • कमांड लाइन तर्क से गुजरें:

      java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
  3. जेवीएम प्रणाली संपत्ति को परिभाषित करें

    java -Dserver.port=7788 -jar <path/to/my/jar>
  4. ओएस पर्यावरण चर को परिभाषित करें

    • यू * IX शेल

      SERVER_PORT=7788 java -jar <path/to/my/jar>
    • खिड़कियाँ

      SET SERVER_PORT=7788
      java -jar <path/to/my/jar>
  5. कॉन्फ़िगरेशन फ़ाइल में संपत्ति रखें./config/application.properties

    server.port=7788

    और भाग खड़ा हुआ:

     java -jar <path/to/my/jar>
  6. में संपत्ति रखें ./config/application.yaml

    server:
        port: 7788

    और भाग खड़ा हुआ:

     java -jar <path/to/my/jar>
  7. में संपत्ति रखें ./application.properties

    server.port=7788

    और भाग खड़ा हुआ:

     java -jar <path/to/my/jar>
  8. में संपत्ति रखें ./application.yaml

    server:
        port: 7788

    और भाग खड़ा हुआ:

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

आप उपरोक्त विधियों को सभी को एक साथ जोड़ सकते हैं, और सूची में पूर्व कॉन्फ़िगरेशन बाद वाले पर पूर्वता लेते हैं।

उदाहरण के लिए:

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

सर्वर 7788 पोर्ट पर शुरू और सुनेगा।

यह प्रॉपर्टीस में डिफ़ॉल्ट गुण प्रदान करने के लिए बहुत कम उपयोगी है (और आमतौर पर संग्रह में पैक या स्रोत में कोडित), और फिर रनटाइम वातावरण में इसे ओवरराइड करता है। और यह स्प्रिंग बूट का डिज़ाइन दर्शन है:

बॉक्स से बाहर की राय दी जाए, लेकिन जरूरत से ज्यादा तेजी से बाहर निकलना शुरू हो जाता है, क्योंकि जरूरतें चूक से शुरू होती हैं।


SERVER_NAMEserver.nameरूपांतरण के लिए आराम बंधन द्वारा किया गया था ।


108

इसके अलावा, आप पोर्ट को प्रोग्रामेटिक रूप से कॉन्फ़िगर कर सकते हैं

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

यह काम कर रहा है और बहुत उपयोगी है, जब आपके पास अपनी स्वयं की कॉन्फ़िगरेशन फ़ाइल में पोर्ट होता है और रनटाइम के दौरान इसे सेट करना चाहते हैं।
Xdg

4
यह तब मददगार था जब मुझे एक पर्यावरण चर से पोर्ट पाने के लिए एक एडब्ल्यूएस इलास्टिक बीनस्टॉक सेवा के लिए एक आवेदन को तैनात करने की आवश्यकता थी।
मार्टिन हैनसेन

यह सुपर उपयोगी है जब आप चाहते हैं कि एक आत्म-निहित इकाई या एकीकरण परीक्षण हो, +1।
प्रियादु नीमरे

बहुत उपयोगी है जब बंदरगाह के लिए एनवी चर पहले से ही एक अलग नाम के तहत परिभाषित किया गया है।
हिगारो

2
@Configurationइसके बजाय यह नहीं है @Controller? कृपया अपडेट करें तो।
भाग्यशाली

82

आप जावा कोड में पोर्ट सेट कर सकते हैं:

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

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

या application.yml में:

server:
    port: 9999

या आवेदन में।

server.port=9999

या कमांड लाइन पैरामीटर के रूप में:

-Dserver.port=9999

HashMap का उपयोग केवल तभी काम करेगा जब कोई पोर्ट अनुप्रयोगों में सेट न हो।
मिलगो

79

यदि आप इसे स्थानीय रूप से चलाना चाहते हैं, तो इसका उपयोग करें -

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

वसंत बूट 2.0 के रूप में , यहां काम करने वाले कमांड (सुराग यहां थे ):

mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085

1
स्प्रिंग बूट 2 से शुरू, आपको उपयोग करना चाहिए spring-boot.run.jvmArguments
मेप

54

मामले में आप application.ymlइसमें निम्नलिखित पंक्तियों को जोड़ रहे हैं

server:
     port: 9000

और यादृच्छिक पोर्ट के लिए निश्चित रूप से 0।


1
यह काम नहीं कर रहा था। मैंने application.yml में server.port का उपयोग किया और इसने काम किया
yathirigan

47

जैसा कि स्प्रिंग डॉक्यूमेंटेशन में बताया गया है , ऐसा करने के कई तरीके हैं:

या तो आप कमांड लाइन में पोर्ट सेट करें (उदाहरण के लिए 8888)

-Dserver.port=8888 या --server.port=8888

उदाहरण : java -jar -Dserver.port=8888 test.jar

या आप application.properties में पोर्ट सेट करें

server.port=${port:4588}

या (ऐप्लिकेशन में। यमल वाक्य रचना के साथ)

server:
   port: ${port:4588}

यदि पोर्ट पास -Dport (या -Dserver.port) कमांड लाइन में सेट है, तो इस पोर्ट को ध्यान में रखा जाएगा। यदि नहीं, तो डिफ़ॉल्ट रूप से पोर्ट 4588 होगा।

यदि आप पोर्ट को गुणों में लागू करना चाहते हैं, तो पर्यावरण चर जो भी हो, उसे आपको लिखना होगा:

server.port=8888


23

जब आपको इसे करने के लिए प्रोग्रामेटिक तरीके की आवश्यकता होती है, तो आप इसे स्टार्टअप के दौरान सेट कर सकते हैं:

System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);

यह पर्यावरण पर निर्भर पोर्ट जैसी चीजों के लिए मदद कर सकता है। आपका दिन शुभ हो


2
System.setProperty("server.port", 80);उसी को प्राप्त करने का एक और तरीका है।
hd1

@ hd1, मैंने अपने उत्तर को मुख्य उत्तर में जोड़ा, इसे देखें और संशोधित करें जैसा कि आप कृपया फिट हैं
लुइस मौरिसियो

18

आप EmbeddedServletContainerFactoryअपने कॉन्फ़िगरेशन (जावा आधारित या xml) के भीतर बीन को ओवरराइड करके पोर्ट निर्दिष्ट कर सकते हैं । वहां आप उपयोग किए गए एम्बेडेड सर्वलेट कंटेनर के लिए पोर्ट निर्दिष्ट कर सकते हैं। कृपया, स्प्रिंग बूट - कोर "एंबेडेड सर्वलेट कंटेनर सपोर्ट" पैराग्राफ देखें और वहां उदाहरण दें। उम्मीद है की यह मदद करेगा।



यहाँ प्रोग्रामर ओवरराइड अनुभाग की वर्तमान लिंक दी गई है: docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/…
jocull


17

अन्य उत्तर देने के लिए:

डॉक्स में परीक्षण के लिए एक खंड है जो बताता है कि एकीकरण परीक्षणों पर पोर्ट को कैसे कॉन्फ़िगर किया जाए:


एकीकरण परीक्षणों में, पोर्ट कॉन्फ़िगरेशन एनोटेशन @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यदि परिभाषित किया गया है तो यह मान लेता है।

  • यदि इसका उपयोग करके परिभाषित किया गया है @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() {
    }

}

17

जब स्प्रिंग बूट एप्लिकेशन शुरू होता है, तो एम्बेडेड सर्वर जैसे कि टॉमकैट एक डिफ़ॉल्ट पोर्ट के साथ शुरू होता है। एम्बेडेड टॉमकैट डिफ़ॉल्ट रूप में 8080 पोर्ट से शुरू होता है। डिफ़ॉल्ट सर्वर पोर्ट को बदलने के कई तरीके हैं।

संपत्ति फ़ाइल (.properties / .yml) का उपयोग करना

प्रॉपर्टी फ़ाइल का उपयोग करके सर्वर पोर्ट को बदलने के लिए, हमें server.port प्रॉपर्टी को कॉन्फ़िगर करना होगा ।

ए। Classpath में application.properties का उपयोग करना जैसे src \ main \ resource \ application.properties

server.port = 8585

सर्वर 8585 पोर्ट से शुरू होगा। रैंडम सर्वर पोर्ट पाने के लिए, प्रॉपर्टी को 0 असाइन करें।

server.port = 0

अब स्प्रिंग बूट सर्वर को एक पोर्ट पर शुरू करेगा जिसका उपयोग वर्तमान में सिस्टम के किसी भी सर्वर द्वारा नहीं किया जा रहा है।

ख। Classpath में application.yml का उपयोग करना जैसे src \ main \ resource \ application.yml।

server:
  port: 8585 

सर्वर 8585 पोर्ट से शुरू होगा।

यादृच्छिक पोर्ट के लिए, 0 असाइन करें।

server:
  port: 0 

जावा कमांड का उपयोग --server.port या -Dserver.port के साथ करें

मान लें कि हमारे पास एक निष्पादन योग्य JAR है, जिसे my-app.jar नाम दिया गया है, तो जावा कमांड का उपयोग करके स्प्रिंग बूट एप्लिकेशन शुरू करते हुए हम तर्क का उपयोग निम्नानुसार कर सकते हैं।

का उपयोग कर --server.port

java -jar my-app.jar  --server.port=8585

प्रयोग -Dserver.port

java -jar -Dserver.port=8585 my-app.jar

सर्वर 8585 पोर्ट से शुरू होगा।

शॉर्ट में java कमांड --पोर्ट या -पोर्ट का उपयोग करना

संक्षेप में --server.port और -Dserver.port बनाने के लिए, हम सर्वर कीवर्ड को हटा सकते हैं और इसे कोई भी छोटा कीवर्ड जैसे-port और -Dport बना सकते हैं। हम किसी भी छोटे कीवर्ड का उपयोग कर सकते हैं। यहां हम पोर्ट को शॉर्ट कीवर्ड की तरह इस्तेमाल कर रहे हैं। इसे प्राप्त करने के लिए हमें प्लेसहोल्डर को संपत्ति फ़ाइल में निम्नानुसार कॉन्फ़िगर करना होगा।

Application.properties का उपयोग करना

server.port=${port:8282}

Application.yml का उपयोग करना

server:
   port: ${port:8282}

यदि हम पोर्ट को तर्क के रूप में पारित नहीं करते हैं, तो डिफ़ॉल्ट सर्वर 8282 के साथ शुरू होगा। यदि हम एक अलग पोर्ट चाहते हैं, तो हमें तर्क के रूप में वांछित पोर्ट को पास करना होगा। मान लीजिए कि हमारे पास एक निष्पादन योग्य JAR है जिसका नाम my-app.jar है।

का उपयोग करते हुए --पोर्ट

java -jar my-app.jar --port=8585 

प्रयोग -पोर्ट

java -jar -Dport=8585 my-app.jar 

सर्वर 8585 पोर्ट से शुरू होगा।

SERAP_PORT का उपयोग स्प्रिंगएप्लिकेशन के साथ प्रोग्रामेटिक रूप से करें

स्प्रिंगएप्लिकेशन में सेटडिफॉल्टप्रोपरेटी () के रूप में एक विधि है जो स्प्रिंग बूट डिफ़ॉल्ट गुणों को बदलने के लिए उपयोग किया जाता है। मान लें कि हम डिफ़ॉल्ट पोर्ट बदलना चाहते हैं तो हमें मैप बनाने और 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);
        }     
} 

स्प्रिंग बूट सर्वर 8585 पोर्ट के साथ शुरू होगा।


17

आपके द्वारा उपयोग किए जा रहे एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल के आधार पर इसे करने के तीन तरीके हैं

a) यदि आप application.properties फ़ाइल सेट का उपयोग कर रहे हैं

server.port = 8090

बी) यदि आप YAML प्रारूप में नीचे दिए गए अनुसार application.yml फ़ाइल सेट सर्वर पोर्ट प्रॉपर्टी का उपयोग कर रहे हैं

server:
     port: 8090

ग) आप संपत्ति को मुख्य विधि में सिस्टम गुण के रूप में भी सेट कर सकते हैं

System.setProperty("server.port","8090");

15

अगर आप का निर्माण उपकरण के रूप में प्रयोग कर रहे हैं Gradle, आप अपने में सर्वर पोर्ट सेट कर सकते हैं application.yml के रूप में फ़ाइल:

server:
  port: 8291

आप तो maven का उपयोग कर रहे हैं, तो बंदरगाह अपने में सेट किया जा सकता application.properties के रूप में फ़ाइल:

server.port: 8291

आवेदन के server.port = 8291
लिए.प्रतिबंधित करें

14

कई अन्य सामान हैं, जिन्हें आप application.properties को बदलकर सर्वर कॉन्फ़िगरेशन में बदल सकते हैं। जैसे सत्र का समय, पता और पोर्ट आदि पोस्ट के नीचे देखें

रेफरी: 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

13
  1. जैसा कि सभी ने कहा, आप application.properties
    server.port = 9000 में निर्दिष्ट कर सकते हैं (कोई अन्य मूल्य हो सकता है)

  2. यदि आप अपनी परियोजना में स्प्रिंग एक्ट्यूएटर का उपयोग कर रहे हैं, तो डिफ़ॉल्ट रूप से यह
    8080 की ओर इशारा करता है, और यदि आप इसे बदलना चाहते हैं, तो application.properties में
    प्रबंधन का उल्लेख करें ।पोर्ट = 9001 (कोई अन्य मूल्य हो सकता है)


12

इसे अपनी application.propertiesफ़ाइल में जोड़ें

server.port= 8080

2
एसओ में आपका स्वागत है :-) कृपया जवाब देने के लिए देखें
जिमहॉकिन्स

एक वर्ष बाद ही समान जोड़ने के लिए क्यों? और server.port 8080जावा संपत्ति फ़ाइल के लिए गलत सिंटैक्स है ...
Betlista

12

में application.propertiesफ़ाइल, इस पंक्ति जोड़ें:

server.port = 65535

उस जगह को कहां रखें:

24.3 आवेदन संपत्ति फ़ाइलें

SpringApplication निम्न स्थानों में Application.properties फ़ाइलों से गुणों को लोड करता है और उन्हें स्प्रिंग पर्यावरण में जोड़ता है:

A /config subdirectory of the current directory
The current directory
A classpath /config package
The classpath root

सूची पूर्वता द्वारा आदेशित की जाती है (सूची में उच्च स्थान पर परिभाषित गुण निचले स्थानों में परिभाषित लोगों को ओवरराइड करते हैं)।

मेरे मामले में मैंने इसे उस निर्देशिका में रखा जहां jarफ़ाइल खड़ी है।

से:

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files


12

डिफ़ॉल्ट स्प्रिंग बूट ऐप के साथ एम्बेडेड टॉमकैट सर्वर के साथ शुरू होता है डिफ़ॉल्ट पोर्ट 8080 पर शुरू होता है। वसंत आपको विभिन्न अनुकूलन के साथ प्रदान करता है आप उनमें से किसी एक को चुन सकते हैं।

ध्यान दें - आप server.port का उपयोग कर सकते हैं। 0 स्प्रिंग बूट हमारे लिए कोई भी अप्रमाणित http रैंडम पोर्ट पाएंगे।

1) application.properties

server.port=2020

2) application.yml

server:  
     port : 2020

3) सर्वर पोर्ट को प्रोग्रामेटिक रूप से बदलें

3.1) WebServerFactoryCustomizer इंटरफ़ेस लागू करके - स्प्रिंग 2.x

@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {

    @Override
    public void customize(TomcatServletWebServerFactory factory) {
        // customize the factory here
        factory.setPort(2020);
    }
}

3.2) एंबेडेड सर्वेशलेटकंटेनर कस्टमाइज़र इंटरफ़ेस लागू करके - स्प्रिंग 1.x

@Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        // customize here
        container.setPort(2020);
    }
}

4) कमांड लाइन विकल्प का उपयोग करके

 java -jar spring-boot-app.jar -Dserver.port=2020

10

दरअसल, सबसे आसान तरीका सर्वर.पोर्ट प्रॉपर्टी को सेट करना है।

यदि आप एसटीएस को आईडीई के रूप में उपयोग कर रहे हैं, तो संस्करण 3.6.7 से आपके पास वास्तव में गुण फ़ाइल खोलने के लिए स्प्रिंग गुण संपादक है

यह संपादक सभी स्प्रिंग बूट गुणों के लिए स्वत: पूर्णता प्रदान करता है। यदि आप पोर्ट लिखते हैं और CTRL + SPACE को हिट करते हैं, तो server.port पहला विकल्प होगा।


1
या इसके अलावा अगर आप Intellij IDEA का उपयोग स्वतः पूर्ण कार्य भी कर रहे हैं। ;)
लकी

9

प्रॉपर्टी सर्वर.पोर्ट = 8080 का उपयोग करना जैसे कि अन्य उत्तरों में उल्लेख किया गया है निश्चित रूप से जाने का एक तरीका है। केवल यह उल्लेख करना चाहता था कि आप एक पर्यावरण संपत्ति को भी उजागर कर सकते हैं:

SERVER_PORT=8080

चूंकि वसंत बूट को बदलने में सक्षम है "।" "_" के लिए और हाल के संस्करणों में पर्यावरण चर के लिए UPPER के मामले में कम है। यह उन कंटेनरों में विशेष रूप से उपयोगी है, जहां आप सभी ऐसा करते हैं, जो application.propertiesकमांड लाइन (यानी -Dserver.port=$PORT) के माध्यम से सिस्टम गुणों को जोड़ने / संपादित करने या पारित किए बिना पर्यावरण चर को परिभाषित करते हैं।


SERVER_PORT=8081 mvn spring-boot:run
नोबार


8

Application.properties फ़ाइल में पोर्ट नंबर प्रदान करने से समस्या हल हो जाएगी

 server.port = 8080

"पोर्ट आपकी पसंद पर निर्भर करता है, जहां आप एप्लिकेशन को होस्ट करना चाहते हैं"


7

आप नीचे दिए गए तरीकों से पोर्ट को जोड़ सकते हैं।

  1. रन -> विन्यास अनुभाग

  2. में application.xmlजोड़नेserver.port=XXXX


1
क्या आपका मतलब है application.ymlऔर आप किस आईडीई का उपयोग कर रहे हैं? कृपया विशिष्ट रहें।
भाग्यशाली

7

आप यह निर्धारित कर सकते हैं कि / src / main / resource / के तहत application.properties में

server.port = 8090

7

बस परियोजना का एक application.propertiesहै src/main/resourcesऔर वहाँ दे

server.port=****

जहां ****पोर्ट संख्या को संदर्भित करता है।


7

1.1 एक संपत्ति फ़ाइल के माध्यम से अद्यतन करें।

/src/main/resources/application.properties

server.port = 8888

एक yaml फ़ाइल के माध्यम से अद्यतन करें।

   server:

     port: 8888

EmbeddedServletContainerCustomizer

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8888);

    }

}

6

SERVER_PORTस्प्रिंग बूट पोर्ट को कॉन्फ़िगर करने के लिए आप पर्यावरण चर का उपयोग भी कर सकते हैं । बस पर्यावरण चर सेट करें और एप्लिकेशन को पुनरारंभ करें:

set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux

कृपया ध्यान दें कि यदि आप उन पर्यावरण चर प्रणाली को चौड़ा नहीं करते हैं, तो आपको उसी सत्र में बूट ऐप को चलाना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.