অ্যাপ্লিকেশন.আইএমএল পরিবেশের পরিবর্তনগুলি সমর্থন করে?


109

আমি আমার অ্যাপ্লিকেশনটিতে এনভির ভেরিয়েবলগুলি ব্যবহার করার চেষ্টা করেছি ymমিল কনফিগারেশন যেমন:

spring:
  main:
    show_banner: false

---

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

কিন্তু env ভেরিয়েবলগুলি সমাধান করা হয় না। আমার কি আলাদা স্বরলিপি সরবরাহ করতে হবে?

কারাগারে আপনি <% = 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
শুধু নির্দেশ - আপনি kotlin ব্যবহার করছেন, তাহলে আপনি কোট মধ্যে আপনার উল্লেখ & করা অব্যাহতি প্রয়োজন $যেমনroot: "\${LOGGING_LEVEL_ROOT:info}"
এডওয়ার্ড

ছেলেরা, অ্যাপ্লিকেশন শুরু করার সময় আমরা কীভাবে ইউনিক্স ক্লাইপের মাধ্যমে OPENSHIFT_DIY_PORT পাস করতে পারি? আমি জানি আমরা ওভাররাইড পরামিতিগুলি পাস করতে -D ব্যবহার করতে পারি, তবে এটি এনভির ভেরিয়েবলগুলির জন্যও কাজ করে? প্রাক্তন: nohup java -Xmx1024m -jar -Dspring.profiles.active = "যাই হোক না কেন"। Env vars দিয়ে কি এমন কোনও উপায় আছে?
ইগোর ডনিন

@ আইগরডনিন, আপনার জন্য ভেরিয়েবল অ্যাসাইনমেন্ট এবং প্রোগ্রামটি একটি বিকল্প কল করতে পারে? ই। জি .:$MY_ENV=value && java -jar ...
প্যাক্স

83

আপনি এমনকি যদি পরিবেশের পরিবর্তনশীল সরবরাহ না করা হয় তবে আপনি ডিফল্ট মান যোগ করতে পারেন:

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

5
আমি উত্তরাধিকার সূত্রে প্রাপ্ত একটি অ্যাপ্লিকেশনটিতে আমি এই বাক্য গঠনটি পেয়েছি এবং এটি দেখায় এমন স্প্রিং ডক্স খুঁজে পেতে অক্ষম। কী ঘটছে তা মোটামুটি সুস্পষ্ট, তবে এটির জন্য ডকগুলি সন্ধান করতে সক্ষম হওয়াই দুর্দান্ত। ভাগ করে নেওয়ার জন্য আপনাকে ধন্যবাদ - আমি এখন আমার উপসংহারের সাথে আরও আত্মবিশ্বাসী।
শ্রদ্ধেয়

কনফিগারেশন ইউবিতে ডিফল্ট মানগুলি ব্যবহার করা হচ্ছে বা এটি স্পষ্টভাবে বলা সম্ভব?
anddero
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.