2016-06-08 19 views
12

में डिफ़ॉल्ट सक्रिय प्रोफ़ाइल सेट करना मैं production होने पर मेरी डिफ़ॉल्ट सक्रिय प्रोफ़ाइल -Dspring.profiles.active सेट नहीं करना चाहता हूं।स्प्रिंग-बूट

मैं अपने application.properties में निम्नलिखित की कोशिश की, लेकिन यह काम नहीं समझे:

spring.profiles.default=production 

स्प्रिंग-बूट संस्करण = 1.3.5.RELEASE

+0

वास्तव में, अपनी गलती मैं वास्तव में क्या ढूंढ रहा था। – cristianoms

उत्तर

27

क्या तुम यहाँ क्या कर रहे हैं डिफ़ॉल्ट डिफ़ॉल्ट सेटिंग है प्रोफ़ाइल (प्रोफ़ाइल जो किसी भी बीन पर उपयोग की जाती है यदि आप @Profile एनोटेशन निर्दिष्ट नहीं करते हैं) production होने के लिए।

आप वास्तव में क्या करने के लिए डिफ़ॉल्ट सक्रिय प्रोफ़ाइल, जो इस तरह से किया जाता है सेट कर दिया जाता जरूरत है:

spring.profiles.active=production 
+4

वह काम करता है और तर्क '-Dspring.profiles.active = development' इसे ओवरराइड करता है, जो मैं चाहता था – DarVar

3

आप मुझे कुछ इस तरह करना होगा Maven उपयोग कर रहे हैं: होने के नाते

उत्पादन अपने डिफ़ॉल्ट प्रोफ़ाइल:

<properties> 
    <activeProfile>production</activeProfile> 
</properties> 

और ओटी का एक उदाहरण के रूप में उसके प्रोफाइल:

<profiles> 
    <!--Your default profile... selected if none specified--> 
    <profile> 
     <id>production</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <activeProfile>production</activeProfile> 
     </properties> 
    </profile> 

    <!--Profile 2--> 
    <profile> 
     <id>development</id> 
     <properties> 
      <activeProfile>development</activeProfile> 
     </properties> 
    </profile> 

    <!--Profile 3--> 
    <profile> 
     <id>otherprofile</id> 
     <properties> 
      <activeProfile>otherprofile</activeProfile> 
     </properties> 
    </profile> 
<profiles> 

अपने application.properties में आप सेट करना होगा:

[email protected]@ 

यह मेरे लिए हर बार काम करता है, आशा है कि यह आपकी समस्या नहीं सुलझती।

+1

नोट - प्रोफ़ाइल उपयोग का उपयोग करने के लिए' maven package -P {profilename} '- उदा। उत्पादन आधारित प्रोफाइल के लिए 'maven पैकेज -प्रोडक्शन'। – Artegon

2

App.java में रखें यह:

public static void main(String[] args) throws UnknownHostException { 
    SpringApplication app = new SpringApplication(App.class); 
    SimpleCommandLinePropertySource source = new SimpleCommandLinePropertySource(args); 
    if (!source.containsProperty("spring.profiles.active") && 
      !System.getenv().containsKey("SPRING_PROFILES_ACTIVE")) { 

     app.setAdditionalProfiles("production"); 
    } 
    ... 
} 

यह है कि यह कैसे JHipster

+0

प्रोग्राम्सिक रूप से aws lambda में प्रोफ़ाइल सेट करने के लिए काम करता है। धन्यवाद! –

6

में किया जाता है मैं इसे main(...)

के बहुत शुरुआत में इस तरह

System.setProperty("spring.profiles.default", "dev"); 

करना है

3

--spring.profiles.active=production

जोड़ें

उदाहरण:

java -jar file.jar --spring.profiles.active=production 
संबंधित मुद्दे