2015-11-02 4 views
43

उत्पन्न अद्यतन करने के लिए मैं जोड़ दिया है:फिर से चलाने के वसंत बूट विन्यास एनोटेशन प्रोसेसर मेटाडाटा

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-configuration-processor</artifactId> 
    <optional>true</optional> 
</dependency> 

मेरी pom.xml प्रति intellij अनुरोध/चेतावनी के लिए।

अब मैं देख रहा हूं "जेनरेट मेटाडेटा अपडेट करने के लिए स्प्रिंग बूट कॉन्फ़िगरेशन एनोटेशन प्रोसेसर को फिर से चलाएं"।

मैं कैसे करूं intellij मुझे क्या करने के लिए कह रहा है?

यह लिंक, B.2 Generating your own meta-data using the annotation processor, इसमें निर्देश नहीं हैं।

उत्तर

21

निम्नलिखित निर्देशों का पालन मेरे लिए काम किया: के रूप में यह प्रतीत होता है कि वहाँ हर समय भले ही कुछ भी नहीं बदला गया है रहता है http://www.mdoninger.de/2015/05/16/completion-for-custom-properties-in-spring-boot.html

एनोटेशन प्रोसेसर फिर से चलाने के लिए होने के बारे में यही संदेश थोड़ा भ्रामक है।

कुंजी निर्भर निर्भरता जोड़ने के बाद या किसी भी संपत्ति में परिवर्तन करने के बाद परियोजना का पुनर्निर्माण करना प्रतीत होता है। ऐसा करने के बाद और YAML फ़ाइल पर वापस जाने के बाद, मेरे सभी गुण अब कॉन्फ़िगरेशन कक्षाओं से जुड़े हुए थे।

आपको मेवेन फलक में 'रीमपोर्ट ऑल मेवेन प्रोजेक्ट्स' बटन पर क्लिक करने के साथ-साथ संबंधित जावा क्लास में लिंक को पहचानने के लिए .yaml फ़ाइल दृश्य प्राप्त करने की आवश्यकता हो सकती है।

+0

तो संदेश से छुटकारा पाने का कोई तरीका नहीं है? – OrangeDog

+1

@ ऑरेंजडॉग मुझे नहीं मिल सकता है। मैंने इसे अनदेखा करना सीखा है लेकिन आप हमेशा JetBrains के साथ एक सुविधा अनुरोध दर्ज कर सकते हैं। आप कल्पना करेंगे कि वे इसके बारे में थोड़ा अधिक स्मार्ट हो सकते हैं और केवल उन्हें प्रदर्शित करते हैं यदि वे कक्षा फ़ाइल जानते हैं या कॉन्फ़िगरेशन फ़ाइल वास्तव में –

+0

बदल गई है, तो त्रुटि संदेश अभी भी प्रोजेक्ट के पुनर्निर्माण के बाद वहां रहता है। –

5

मुझे एक ही समस्या थी। समस्या यह है कि स्प्रिंग बूट एनोटेशन प्रोसेसर आपके /target/classes/META-INF फ़ोल्डर के अंदर spring-configuration-metadata.json फ़ाइल उत्पन्न करता है।

यदि आपने इंटेलिजे में इस फ़ोल्डर को अनदेखा किया है (क्योंकि बिल्ली क्या है, जो कक्षा फाइलों की परवाह करता है?), फ़ाइल को आपके आईडीई द्वारा अनुक्रमित नहीं किया जाएगा। इसलिए, कोई पूरा नहीं, और कष्टप्रद संदेश।

Settings > Editor > File Types > Ignore files and folders में स्थित अनदेखी फ़ाइलों/फ़ोल्डर्स सूची से target हटाएं।

+1

मुझे मेरी अनदेखी फ़ाइलों में 'target' दिखाई नहीं देता है। हालांकि यह मेरे '.gitignore' में है। –

+0

'मेरे लक्ष्य में' लक्ष्य/'को छोड़ दिया गया है और चीजें ठीक काम कर रही हैं। –

+2

इसका उपयोग किया जाएगा या नहीं, लक्ष्य को बाहर रखा गया है या नहीं (मैं इस सुविधा के लिए जिम्मेदार डेवलपर हूं)। यदि आप इस गलत व्यवहार को पुन: पेश कर सकते हैं तो कृपया एक बग रिपोर्ट दर्ज करें। –

10

कोई भी जवाब मेरे लिए काम नहीं करता है। अगर आप केवल संदेश को अक्षम करना चाहते हैं, तो इंटेलिज प्राथमिकताएं -> संपादक -> सामान्य -> ​​उपस्थिति पर जाएं, "स्प्रिंग बूट मेटाडेटा पैनल दिखाएं" अनचेक करें।

लेकिन, आप यह भी है कि संदेश के साथ रहती है, तो यह आप बहुत ज्यादा परेशान नहीं करता है सकते हैं, तो सुनिश्चित करें कि आप किसी अन्य स्प्रिंग बूट मेटाडाटा संदेश आप में रुचि हो सकती न हो जाए। की

+2

चेक बॉक्स आईडीईए 2017.2 के साथ प्राथमिकताएं -> भाषाएं और फ्रेमवर्क -> वसंत -> वसंत बूट के तहत है – oleh

0

कोई नहीं ये विकल्प मेरे लिए काम करते थे। मैंने पाया है कि एनोटेशन प्रोसेसर का स्वत: पता लगाना बहुत स्पष्ट है। मैंने pom.xml फ़ाइल में एक प्लगइन अनुभाग तैयार किया जो स्पष्ट रूप से प्रोजेक्ट के लिए उपयोग की जाने वाली एनोटेशन प्रोसेसर सेट करता है। इसका लाभ यह है कि आपको किसी भी आईडीई सेटिंग्स पर भरोसा करने की आवश्यकता नहीं है।

<plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.7.0</version> 
      <configuration> 
       <compilerVersion>1.8</compilerVersion> 
       <source>1.8</source> 
       <target>1.8</target> 
       <annotationProcessors> 
        <annotationProcessor>org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor</annotationProcessor> 
        <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor> 
        <annotationProcessor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</annotationProcessor> 
       </annotationProcessors> 
      </configuration> 
     </plugin> 
संबंधित मुद्दे