2013-02-27 22 views
7

मैं वर्तमान में एक परियोजना पर काम कर रहा हूं, जो विभिन्न उद्देश्यों के लिए कोड उत्पादन का गहन उपयोग करता है। एक जनरेटर जेपीए इकाइयों से एसक्यूएल स्क्रिप्ट उत्पन्न करता है। एक अन्य pojos से डीटीओ उत्पन्न करता है, दूसरा जेपीए 2.0 मेटा मॉडल उत्पन्न करता है, जेट जावा जावा कक्षाओं के आधार पर कुछ एक्सएमएल और स्कीमा फाइलें उत्पन्न करता है ... प्रत्येक जनरेटर अलग-अलग कॉन्फ़िगर करने के लिए पूरी तरह से अलग-अलग आवश्यकताओं को काम करता है।क्या कोई सामान्य मेवेन कोड जेनरेटर है?

मेरा प्रश्न अब है ... क्या कोई सामान्य Maven कोड प्लगइन वहाँ निम्न विशेषताओं वाला जनरेटर है: - एक जावा वर्ग की एक POJO मॉडल बनाता है (नाम, गुण, एनोटेशन, तरीके ...) - आउटपुट को परिभाषित करने के लिए टेम्पलेट का उपयोग करता है जो किसी भी आउटपुट उत्पन्न करने के लिए pojo मॉडल का उपयोग करता है। - मुझे एक कक्षा के लिए एकाधिक टेम्पलेट्स निर्दिष्ट करने की अनुमति देता है - मुझे कोड और संसाधन उत्पन्न करने की अनुमति देता है - मुझे लक्ष्य/जेनरेट-स्रोतों के लिए आधार वर्ग उत्पन्न करने और स्रोत/मुख्य/जावा में एक डमी कार्यान्वयन की अनुमति देता है जो बस आधार को बढ़ाता है कक्षा (यदि स्रोत/मुख्य/जावा में डमी क्लास मौजूद है, तो कुछ भी नहीं होता है, अगर यह ऐसी डमी क्लास उत्पन्न नहीं करता है। यह कोड एससीएम में चेक किया गया है और जेनरेट किए गए वर्गों को मैन्युअल रूप से विस्तारित करने की अनुमति देता है)

I मेरा एक्शनस्क्रिप्ट मॉडल कोड उत्पन्न करने के लिए फ्लेक्समोजोस ग्रेनाइट्स प्लगइन का उपयोग कर रहा हूं, लेकिन यह उस विशेष उद्देश्य के लिए बहुत विशिष्ट है।

मुझे लगता है कि ऐसा सामान्य जेनरेटर चीजों को बहुत आसान बना देगा।

+0

साइड नोट: यदि आप कोड जनरेटर में रुचि रखते हैं, तो शायद आप [SpringFuse] (http://www.springfuse.com/) पर एक नज़र डाल सकते हैं। यह सिर्फ सूचना के उद्देश्यों के लिए है, क्योंकि यह आपके द्वारा अनुरोध किए जाने पर मेवेन प्लगइन नहीं है, लेकिन यह भी काफी रोचक है;; ' – sp00m

+0

वैसे वहां बहुत सारी रोचक चीजें हैं ... स्प्रिंग रू और अन्य के बारे में सोचें। लेकिन मैं एक साधारण मैवेन टूल की तलाश में हूं, जहां कहीं भी मुझे पीढ़ी की आवश्यकता होती है। –

उत्तर

0

minuteproject है, जो विभिन्न इनपुट/आउटपुट प्रारूपों का समर्थन करता है। यह आपकी आवश्यकताओं के लिए 100% मैच नहीं है, लेकिन दर्शन समान है: सभी प्रकार के लक्ष्यों के लिए एक जनरेटर बनाना।

मुझे नहीं लगता कि इसमें अभी तक एक मेवेन प्लगइन है, लेकिन डेवलपर बहुत ही संवेदनशील है। मुझे यकीन है कि आप इसके लिए एक फीचर अनुरोध बना सकते हैं।

+0

इस समय ठीक है मेरी परियोजना पूरी तरह से बहुत दूर है। तो मैं उस रास्ते पर जारी रखूंगा ... लेकिन जानकारी के लिए धन्यवाद। शायद मैं उस पर एक नज़र डालूंगा और इसे प्रेरणा के रूप में उपयोग करूंगा ;-) –

0

लुकास उल्लेख किया है, Minuteproject ऐसी बातों के लिए डिजाइन किया गया था:

  1. आप विभिन्न प्रारूप में किसी भी पाठ आधारित प्रकार (xml, गुण, जावा, एचटीएमएल ...) फ़ाइल
  2. उत्पन्न फ़ाइल जोड़ सकते हैं कर सकते हैं एक दूसरे का संदर्भ
  3. templating भाषा वेग
  4. टेम्पलेट टेबल/दृश्यों पर लागू किया जा सकता है; स्तंभ (क्षेत्र); पैकेज (टेबल/विचारों के समूह); आदर्श; आवेदन
  5. कोड updatable (आप एक्सटेंशन जोड़ सकते हैं; संशोधन क्षेत्र) है जिसका मतलब है कि कोड आप संशोधित लगातार पीढ़ी से अधिक रखा जाता है
  6. यह ओएस है और आप किसी भी टेम्पलेट को संशोधित करने और जोड़ने तुम्हारा
  7. यह पटरियों बंडल कर सकते हैं इस तरह के JPA2
  8. के रूप में यह सम्मेलन के साथ काम करता है, लेकिन आप अपने खुद के सम्मेलनों कि अपने मॉडल पर लागू होते हैं परिभाषित कर सकते हैं
  9. यह डेटा संरचना तक सीमित नहीं है, यह आपके बयान के इंजीनियर को बदलने कर सकते हैं (SDD - वक्तव्य संचालित विकास)

लेकिन वर्तमान में यह कमांड लाइन के माध्यम से काम करता है; एक Maven प्लगइन एक अच्छा सुधार

फ्लोरियन

0

स्ट्रिंग-टेम्पलेट Maven-प्लगइन होगा शायद "सामान्य" कोड जनरेटर के लिए सबसे अच्छा उम्मीदवार।आप एक स्ट्रिंग टेम्पलेट टेम्पलेट समूह फ़ाइल को परिभाषित कर सकते हैं, और टेम्पलेट में डेटा फ़ीड करने के लिए जावा फ़ाइल प्रदान कर सकते हैं। प्लगइन स्वचालित रूप से संकलित और आपके जावा कोड (नियंत्रक) चलाएगा।

+0

असल में यह उस Functioanlity के पास भी नहीं जाता है जिसे मैं ढूंढ रहा हूं। लेकिन मैंने पहले से ही एक नई प्लगइन पर काम करना शुरू कर दिया है जिसका मैं उपयोग करूंगा। जैसे ही यह पहले के लिए कुछ हद तक समाप्त हो गया है, मैं इसे खोलता हूं। –

0

write-it-once आज़माएं। टेम्पलेट आधारित कोड जेनरेटर। आप Groovy का उपयोग कर कस्टम टेम्पलेट लिखते हैं, और जावा प्रतिबिंब के आधार पर फ़ाइल जेनरेट करते हैं। यह किसी फ़ाइल को उत्पन्न करने का सबसे आसान तरीका है। आप एस्पेक्टजे या जावा फाइलें, जेपीए एनोटेशन के आधार पर एसक्यूएल, एनम्स पर आधारित आवेषण/अपडेट आदि द्वारा गेटर्स/बसने/टूस्ट्रिंग कर सकते हैं।

संबंधित मुद्दे