জেনারেটেড মেটাডেটা আপডেট করতে স্প্রিং বুট কনফিগারেশন এনোটেশন প্রসেসরটিকে আবার চালান


109

আমি যোগ করেছি:

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

আমার pom.xmlপ্রতি intellijঅনুরোধ / সতর্কতা।

এখন আমি "উত্পন্ন মেটাডেটা আপডেট করার জন্য স্প্রিং বুট কনফিগারেশন এনটেশন প্রসেসরটি পুনরায় চালাচ্ছি" seeing

intellijআমাকে যা করতে বলছে তা আমি কীভাবে করব ?

এই লিঙ্কটি, বি .২ টিকা প্রসেসর ব্যবহার করে আপনার নিজস্ব মেটা-ডেটা উত্পন্ন করার কোনও নির্দেশনা নেই।

উত্তর:


65

এই নির্দেশাবলী অনুসরণ করে আমার জন্য কাজ করেছে: http://www.mdoninger.de/2015/05/16/completion-for-custom-properties-in-spring-boot.html

টিকা প্রসেসরটি পুনরায় চালানো সম্পর্কে এই বার্তাটি কিছুটা বিভ্রান্তিকর কারণ এটি প্রদর্শিত হচ্ছে যা কিছু পরিবর্তন না হলেও সমস্ত সময় সেখানে থাকে।

কীটি প্রয়োজনীয় নির্ভরতা যুক্ত করার পরে বা কোনও সম্পত্তি পরিবর্তন করার পরে প্রকল্পটি পুনর্নির্মাণ করছে বলে মনে হচ্ছে। এটি করার পরে এবং ওয়াইএএমএল ফাইলে ফিরে যাওয়ার পরে, আমার সমস্ত সম্পত্তি এখন কনফিগারেশন ক্লাসের সাথে সংযুক্ত ছিল।

সংশ্লিষ্ট জাভা ক্লাসে লিঙ্কগুলি ফিরে সনাক্ত করতে .ml ফাইলের ভিউ পেতে আপনাকে ম্যাভেন প্যানেলে 'রেমপোর্ট সকল অল মাভেন প্রজেক্টস' বোতামটি ক্লিক করতে হবে।


তাহলে বার্তাটি থেকে মুক্তি পাওয়ার কোনও উপায় নেই?
অরেঞ্জডোগ

4
পছন্দ করুন আমি এটিকে উপেক্ষা করতে শিখেছি কিন্তু আপনি জেটব্রেইনগুলির সাথে সর্বদা একটি বৈশিষ্ট্য অনুরোধ জমা দিতে পারেন। আপনি কল্পনা করে নিতে পারেন যে তারা এ সম্পর্কে কিছুটা স্মার্ট হতে পারে এবং কেবল তখনই প্রদর্শিত হয় যদি তারা জানত যে ক্লাস ফাইলটি বা কনফিগারেশন ফাইলটি আসলে পরিবর্তিত হয়েছে
প্যাট্রিক হেরেরার

4
প্রকল্পটি পুনর্নির্মাণের পরে ত্রুটি বার্তাটি এখনও সেখানে রয়েছে।
ক্যান্ট বুল

4
"কীটি প্রকল্পটি পুনর্নির্মাণ করছে বলে মনে হচ্ছে" আমাকে সহায়তা করেছিল। বার্তাটি এখানে এখনও রয়েছে, তবে application.propertiesফাইলটিতে আমার কাস্টম সম্পত্তিগুলির কমপক্ষে স্বয়ংক্রিয়ভাবে সমাপ্তি কাজ শুরু করে।
রুসলান স্টেলমাচেঙ্কো

4
আমি আইডিইএ 2018.3 ব্যবহার করি এবং পাঠ্য বার্তার পরে একটি লিঙ্ক "বিজ্ঞপ্তি লুকান" have দেখে মনে হচ্ছে জেটব্রেইনস তথ্যটি নিকটযোগ্য করে তুলেছে :-)
মার্কাস কে।

18

উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। আপনি যদি কেবল বার্তাটি অক্ষম করতে চান তবে ইন্টেলিজ পছন্দসমূহ -> সম্পাদক -> সাধারণ -> উপস্থিতিতে যান, "স্প্রিং বুট মেটাডেটা প্যানেল দেখান" অনিচ্ছুক করুন।

তবে আপনি সেই বার্তাটি নিয়েও বেঁচে থাকতে পারেন, যদি এটি আপনাকে খুব বেশি বিরক্ত করে না, তাই আপনার আগ্রহী হতে পারে এমন কোনও স্প্রিং বুট মেটাডেটা বার্তা মিস করবেন না তা নিশ্চিত করে নিন।


5
চেক বক্স পছন্দসমূহ অধীনে ধারণা 2017,2 সাথে আছেন -> ভাষা & ফ্রেমওয়ার্ক -> বসন্ত -> স্প্রিং বুট
oleh

15

আপনি নিম্নলিখিতগুলির মাধ্যমে ইন্টেলিজে টিকা প্রোটেসর সক্ষম করতে পারেন:

  1. ফাইল ক্লিক করুন
  2. সেটিংস এ ক্লিক করুন
  3. উপরের-বাম কোণে অবস্থিত ছোট্ট অনুসন্ধান বাক্সে "টিকা প্রসেসরগুলি" অনুসন্ধান করুন
  4. "টিকা প্রক্রিয়াকরণ সক্ষম করুন" পরীক্ষা করুন
  5. ঠিক আছে ক্লিক করুন

11

আমারও একই প্রশ্ন ছিল. সমস্যাটি হ'ল স্প্রিং বুট টীকা প্রসেসরটি spring-configuration-metadata.jsonআপনার /target/classes/META-INFফোল্ডারের অভ্যন্তরে ফাইলটি উত্পন্ন করে ।

আপনি যদি এই ফোল্ডারটি আমার মতো ইন্টেলিজজে উপেক্ষা করে দেখেছেন (কারণ হ্যাক কী, ক্লাস ফাইলগুলির বিষয়ে কী চিন্তা করে?), ফাইলটি আপনার আইডিই দ্বারা সূচিযুক্ত করা হবে না। অতএব, কোন সমাপ্তি, এবং বিরক্তিকর বার্তা।

কেবলমাত্র targetঅবস্থিত ফাইল / ফোল্ডার উপেক্ষা তালিকা থেকে সরান Settings > Editor > File Types > Ignore files and folders


4
আমি targetআমার উপেক্ষা করা ফাইলগুলিতে দেখতে পাচ্ছি না। এটা আমার .gitignoreযদিও।
এরিক ফ্রান্সিস

target/আমার ক্ষেত্রে বাদ দেওয়া হয়েছে এবং জিনিসগুলি ভাল কাজ করছে।
আমর মোস্তফা

4
লক্ষ্যটিকে বাদ দেওয়া হয় না বা না করা হবে (এই বৈশিষ্ট্যের জন্য আমি বিকাশকারী)। আপনি যদি এই ভুল আচরণটি পুনরুত্পাদন করতে পারেন তবে দয়া করে একটি বাগ রিপোর্ট ফাইল করুন।
ইয়ান ক্যাবরন

4
সুতরাং ইন্টেলিজির কোন সংস্করণটি সঠিকভাবে আচরণ করে?
মার্কস

4
@ YannCébron এখানে গ্রেড সহ ফাইলটি। / বিল্ড / স্লাসস / জাভা / মেইন / এমইটিএ- আইএনএফ / স্প্রিং- কনফিগারেশন- মেটটাটা.জেসন-এ তৈরি হয় তবে ইন্টেলিজ একে এটিকে বিবেচনায় নেয় না। আমি যদি জ্যান্সন ফাইলটিকে ম্যানুয়ালি এসআরসি / প্রধান / সংস্থানসমূহ / মেটা-আইএনএফ এ সরিয়ে
ফেলি

10

এই বিকল্পগুলির কোনোটাই আমার পক্ষে কাজ করে নি। আমি খুঁজে পেয়েছি যে টীকায়িত প্রসেসরের স্বতঃ সনাক্তকরণটি বেশ ফ্ল্যাশযুক্ত। আমি 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>

7
এই আমার জন্য কাজ করে। আমি annotationProccessorPathsপৃথক ক্লাস সংজ্ঞায়নের পরিবর্তে ব্যবহার করেছি । <annotationProcessorPaths><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>${parent.version}</version></path>...
F:5rat KÜÇÜK

2

আমার জন্য, অন্যান্য উত্তরগুলি কাজ করে না। আমাকে খোলার জন্য যেতে হবে Filesএবং Invalidate caches and restartইন্টেলিজ করতে হবে। তারপরে, সবকিছু আবার ঠিকঠাক কাজ করেছে।


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