मेरे पास एक जावा एनोटेशन प्रोसेसर है जो संकलन के दौरान जावा फाइलों का एक गुच्छा उत्पन्न करता है। मैं एक्सटेंशन विधियों को जोड़कर उत्पन्न क्लास nicer कोटलिन में उपयोग करना चाहता हूं। मुझे कोटलिन मंचों पर बताया गया है कि जो कुछ मैं कोशिश कर सकता हूं वह एक कोटलिन फ़ाइल लिखना होगा जिसमें मेरा विस्तार कार्य शामिल है। मैंने यह कोशिश की है, मैंने Filer
ऑब्जेक्ट का उपयोग इस फ़ाइल को StandardLocations.SOURCE_OUTPUT निर्देशिका में आउटपुट करने के लिए किया था। Intellij मेरी जेनरेट क्लास देख सकता है, और मैं विस्तार कार्यों के रूप में विस्तार कार्यों का उपयोग कर सकता हूं, लेकिन ऐप संकलित नहीं होगा क्योंकि संकलक को नई कोटलिन फ़ाइल नहीं मिल सकती है। क्या कोई तरीका है कि मैं एक नई कोटलिन फ़ाइल लिख सकता हूं जिसे कोटलिन कंपाइलर द्वारा उठाया जाएगा?एनोटेशन प्रोसेसर से कोटलिन फ़ाइल कैसे उत्पन्न करें?
19
A
उत्तर
2
कैप्टन के लिए आप स्रोत फ़ोल्डर प्राप्त कर सकते हैं।
Map<String, String> options = processingEnv.getOptions();
String generatedPath = options.get("kapt.kotlin.generated");
String path = generatedPath
.replaceAll("(.*)tmp(/kapt/debug/)kotlinGenerated",
"$1generated/source$2");
दुर्भाग्य से यह kapt2 के लिए काम नहीं करता है (इस मुद्दे KT-14070 देखें)
आप संसाधन के लेखक के माध्यम से फ़ाइलों .kt बना सकते हैं
Writer w = processingEnv.getFiler().createResource(SOURCE_OUTPUT, "package_name", "Sample.kt")
लेकिन अब के लिए आप संकलक दो बार आह्वान करने के लिए की जरूरत है compileDebugKotlin कार्य compileDebugJavaWithJavac कार्य द्वारा javax एनोटेशन प्रोसेसर का आह्वान करने से पहले चलता है)
0
अपनी फ़ाइलों को आउटपुट (उचित पैकग के साथ ई नाम) src/build/generated-src/kotlin/your/package/File.kt
और इस ऐड की तरह एक निर्देशिका में अपने build.gradle
रहे हैं:
sourceSets {
main.java.srcDirs += 'build/generated-src/kotlin'
}
संबंधित मुद्दे
- 1. एनोटेशन प्रोसेसर
- 2. जावा एनोटेशन प्रोसेसर कैसे लिखें?
- 3. एक एनोटेशन प्रोसेसर
- 4. चींटी के साथ एनोटेशन प्रोसेसर कैसे संकलित करें?
- 5. एनोटेशन प्रोसेसर + एंड्रॉइडटेस्ट + डैगर 2
- 6. एनोटेशन प्रोसेसर अब
- 7. ग्रैडल + एनोटेशन + फ्लेवर्स = एनोटेशन प्रोसेसर नहीं चलाएंगे
- 8. प्रोग्रामेटिक रूप से एनोटेशन प्रोसेसर का आह्वान
- 9. मैवेन में एनोटेशन प्रोसेसर आउटपुट
- 10. प्रोगुआर्ड और कोटलिन-प्रतिबिंब/कोटलिन एनोटेशन
- 11. एनोटेशन प्रोसेसर में फ़ील्ड क्लास प्राप्त करें
- 12. मैवेन-प्रोसेसर-प्लगइन के लिए एनोटेशन प्रोसेसर लिखना
- 13. संकलन के दौरान एनोटेशन प्रोसेसर को डीबग कैसे करें?
- 14. फिर से चलाने के वसंत बूट विन्यास एनोटेशन प्रोसेसर मेटाडाटा
- 15. कोटलिन में स्वैगर @ एपी रीस्पॉन्स एनोटेशन का उपयोग कैसे करें?
- 16. एनोटेशन प्रोसेसर: टाइपमिरर या टाइप एलीमेंट
- 17. एनोटेशन प्रोसेसर org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor से समर्थित स्रोत संस्करण RELEASE_6 स्रोत 1.7
- 18. WSDL फ़ाइल कैसे उत्पन्न करें?
- 19. एक क्रियालेख फ़ाइल से एक एसडब्ल्यूएफ फ़ाइल कैसे उत्पन्न करें?
- 20. एनोटेशन प्रोसेसर का क्रम निर्दिष्ट करना
- 21. डिफ़ॉल्ट एनोटेशन प्रोसेसर खोज प्रक्रिया क्या है?
- 22. एनोटेशन प्रोसेसर - क्लास को कैसे प्राप्त किया जा रहा है
- 23. एनोटेशन प्रोसेसर के साथ आईडीईए ऑटो आयात pom.xml को कैसे
- 24. जावा से कोटलिन संपत्ति की टिप्पणियां कैसे प्राप्त करें?
- 25. जावा एनोटेशन प्रोसेसर के लिए स्वचालित यूनिट परीक्षण कैसे लिखें?
- 26. वीडियो फ़ाइल से पूर्वावलोकन छवि उत्पन्न करें?
- 27. प्रोग्राम्सिक रूप से require.txt फ़ाइल उत्पन्न करें
- 28. .NET DLL फ़ाइल से पीडीबी उत्पन्न करें?
- 29. एक .po फ़ाइल कैसे उत्पन्न करें?
- 30. फोनगैप - बेस 64 स्ट्रिंग से छवि फ़ाइल कैसे उत्पन्न करें?
वास्तव में किस प्रकार आप अपने आवेदन संकलन कर रहे हैं? – yole
कोटलिन-एंड्रॉइड ग्रेडल प्लगइन का उपयोग करना। क्षमा करें, यह एक बहुत ही महत्वपूर्ण जानकारी है। –
क्या आप एक नमूना परियोजना पोस्ट कर सकते हैं जो इस मुद्दे को प्रदर्शित करता है? – miensol