Application.yml पर्यावरण चर का समर्थन करता है?


109

मैंने अपने एप्लिकेशन में env चर का उपयोग करने की कोशिश की। जैसे विन्यास:

spring:
  main:
    show_banner: false

---

spring:
  profiles: production
server:
  address: $OPENSHIFT_DIY_IP
  port: $OPENSHIFT_DIY_PORT

लेकिन एनवी चर हल नहीं होते हैं। क्या मुझे एक अलग संकेतन प्रदान करना है?

रेल में आप उदाहरण के लिए <% = ENV ['FOOVAR']%> का उपयोग कर सकते हैं

एकमात्र विकल्प ऐप को चलाना है:

java -jar my.jar --server.address=$OPENSHIFT_DIY_IP --server.port=$OPENSHIFT_DIY_PORT

जवाबों:


145

प्रयास करें ${OPENSHIFT_DIY_PORT}(सामान्य स्प्रिंग प्लेसहोल्डर संकेतन)। डॉक्स के लिए यहां देखें ।


यह वही था जो मुझे चाहिए था:app.name=MyApp app.description=${app.name} is a Spring Boot application
जुरासिक

2
बस इंगित करने के लिए - यदि आप कोटलिन का उपयोग कर रहे हैं, तो आपको अपना संदर्भ उद्धरणों में रखना होगा और $उदाहरण के लिए बचना होगाroot: "\${LOGGING_LEVEL_ROOT:info}"
Edward

दोस्तों, आवेदन शुरू करते समय हम यूनिक्स के माध्यम से OPENSHIFT_DIY_PORT को कैसे पार कर सकते हैं? मुझे पता है कि हम ओवरराइड मापदंडों को पारित करने के लिए -D का उपयोग कर सकते हैं, लेकिन क्या यह env चर के लिए भी काम करता है? Ex .: nohup java -Xmx1024m -jar -Dspring.profiles.active = "जो भी"। वहाँ env vars के साथ ऐसा करने का एक तरीका है?
इगोर डोनिन

@IgorDonin, वैरिएबल असाइनमेंट और प्रोग्राम का कॉन्सेप्ट आपके लिए एक विकल्प कहलाएगा? ई। जी .:$MY_ENV=value && java -jar ...
पैक्स

84

आप डिफ़ॉल्ट मान भी जोड़ सकते हैं, अगर पर्यावरण चर प्रदान नहीं किया गया है:

logging:
  level:
    root: ${LOGGING_LEVEL_ROOT:info}

5
मुझे यह सिंटैक्स एक ऐप में मिला है जो मुझे विरासत में मिला है और यह दिखाने वाले स्प्रिंग डॉक्स को खोजने में असमर्थ रहा है। यह स्पष्ट रूप से स्पष्ट है कि क्या हो रहा है, लेकिन इसके लिए डॉक्स खोजने में सक्षम होना अच्छा होगा। साझा करने के लिए धन्यवाद - मैं अब अपने निष्कर्ष के साथ अधिक आश्वस्त हूं।
श्रद्धेय

क्या यूबी कॉन्फ़िगरेशन में डिफ़ॉल्ट मानों का उपयोग करना या यह स्पष्ट रूप से संभव है?
anddero
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.