तो, कामकाज अपेक्षाकृत सरल है और google groups में प्रस्तावित किया गया था, लेकिन दस्तावेज़ों में कुछ अस्पष्टता है, ठीक है, मैं चरण-दर-चरण का वर्णन करूंगा कि किसी को क्या करना चाहिए।
1. पृथक आपके डोमेन मॉडल logicaly
इसका मतलब है कि डोमेन कक्षाओं विचारों या नियंत्रकों से कुछ भी नहीं बुलाना चाहिए।
2. उप-परियोजना जो डोमेन कक्षाओं
here दिया कुछ जानकारी होती है बनाएँ। उप-प्रोजेक्ट डिफ़ॉल्ट नाटक के प्रोजेक्ट के समान ही है, और इसे इतना कठिन नहीं बना रहा है। मुझे प्ले कंसोल से ऐसा करने के लिए कोई उपकरण नहीं मिला है, इसलिए आपको हाथ से कुछ फ़ोल्डर्स बनाना होगा।
पहले मुख्य प्रोजेक्ट के फ़ोल्डर में उप-प्रोजेक्ट फ़ोल्डर बनाएं। आइए मान लीजिए कि आप इसे डोमेन-डेटा नाम दें। इसके बाद, standart app. layout में वर्णित आवश्यक फ़ोल्डर्स बनाएं। ज्यादातर मामलों में आप उप-फ़ोल्डर बनाया में सरल निर्देशिका वृक्ष बनाना चाहते हैं:
app
└ models
└ myclasses
अब उप-परियोजना के निर्देशिका वृक्ष के लिए अपने सभी डोमेन कक्षाएं ले जाएँ।
3.Configuration
विन्यास enought सरल हो जाएगा। मुख्य प्रोजेक्ट के प्रोजेक्ट फ़ोल्डर पर जाएं और Build.scala फ़ाइल खोलें। यह एसबीटी बिल्ड सिस्टम के लिए निर्माण स्क्रिप्ट है।
पहले कुछ निर्भरताओं को परिभाषित करें। अपनी बिल्ड फ़ाइल में निम्न स्ट्रिंग जोड़ें:
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
यह आपके उप-प्रोजेक्ट में लंबोक के जार को जोड़ देगा।अब बनाने के उप-परियोजना परिभाषा:
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
कहाँ पथ उप-परियोजना के फ़ोल्डर में ले जाना चाहिए।
और अंतिम चरण मुख्य परियोजना कॉन्फ़िगरेशन को उप-प्रोजेक्ट पर निर्भर करने के लिए अद्यतन कर रहा है। निर्भरता प्रत्येक मुख्य परियोजना पुनर्निर्माण पर उप-परियोजना पुनर्निर्माण में शामिल होगी।
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
सब के बाद साथ टर्मिनल में दिए गए खेलने आदेश मुख्य परियोजना शुरू करते हैं, और परियोजनाओं आदेश लिखें। आपको अपना नया सब-प्रोजेक्ट देखना चाहिए।
4. लाभ
अब यह समय सुरक्षित रूप से लंबोक उपयोग कर अपने मौजूदा कोड refactor करने के लिए है।
मैं स्केला और मेरे सिर में spining संदेह का एक बहुत पर देख रहा हूँ: gregate 100% आवश्यक) है। मुझे लगता है कि स्कैला _difficult_ है। और एक और कारण है। स्केल डेवलपर को ढूंढना अभी भी मुश्किल है। –
मेरी राय में जावा से जावा आसान है। (वाईएमएमवी मैंने एम्बेडेड सी से आने वाले एक ही समय में स्कैला और जावा सीखा)। लेकिन आप सही हैं डेवलपर्स को ढूंढना मुश्किल है। – Fabian
@ फ़ैबियन आईएमएचओ, यह नियमित जावा मार्ग से बहुत अलग है। यह स्टेरॉयड के साथ जावा नहीं है, यह एक और दुनिया की तरह है। बस _implicit_ चाल पर एक नज़र डालें। जब मैं स्केल स्रोतों को देखता हूं, तो मुझे मजबूत महसूस होता है "क्या .."। लेकिन यह सिर्फ मेरी व्यक्तिपरक राय है। –