2015-04-20 7 views
6

मेरे पास एक स्प्रिंग-बूट एप्लिकेशन है जो एक yml फ़ाइल के साथ कॉन्फ़िगर किया गया है। जार को निष्पादित करते समय इन गुणों को ओवरराइड करना संभव है? उदाहरण के लिए मान लें कि मेरे पास yml फ़ाइल में इनपुट चर है उपयोगकर्ता 1 पर सेट है और मैं उपयोगकर्ता 2 के साथ जार निष्पादित करना चाहता हूं। क्या ऐसा कुछ करना संभव है?कमांड लाइन तर्कों के साथ वसंत-बूट में yml कॉन्फ़िगरेशन ओवरराइड करें

java -jar --input=user2 
+0

दस्तावेज़ों के मुताबिक, यह possib है ले http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#boot-features-external-config-command-line-args क्या आपने इसे आजमाया है? –

+0

हां, यह संभव है। मैं application.yml फ़ाइल में सर्वर के रूप में परिभाषित मेरे टॉमकैट पोर्ट को ओवरराइड करता हूं: पोर्ट: $ {पोर्ट: 8080} --server.port = 8090 – ufdeveloper

उत्तर

1

answer by cLyric विस्तार करने के लिए, आप यह कर सकते हैं:

java -jar yourapp.jar --input=user2 

या यदि आप json का उपयोग कर उपलब्ध कराना चाहते हैं, तो आप क्या कर सकते हैं

java -jar yourapp.jar --spring.application.json='{"input":"user2"}' 

या आप यूनिक्स में हैं/लिनक्स,

SPRING_APPLICATION_JSON='{"input":"user2"}' java -jar yourapp.jar 
+0

का उपयोग करके, मेरी परियोजना में, यह "जावा-jar app.jar - इनपुट पर काम नहीं करता है = user2 "लेकिन" जावा-डिनपुट = user2 -jar app.jar "के साथ अच्छी तरह से काम करें। लेकिन दूसरे कमांड के साथ application.properties में कॉन्फ़िगरेशन ओवरराइड नहीं कर सकता –

+0

@ फ्री 斩 दूसरा आदेश अलग है, वसंत बूट से संबंधित नहीं है। यदि मानक '- इनपुट' शैली किसी कारण से काम नहीं कर रही है तो आपको शायद एक और प्रश्न खोलना चाहिए। – eis

+0

http://stackoverflow.com/questions/42244380/override-yml-configuration-in-spring-boot-with-command-line-arguments-not-work –

संबंधित मुद्दे