मैं निम्नलिखित और एक आम कोर पुस्तकालय एक स्काला आवेदन की स्थापना: जड़किसी अन्य एसबीटी परियोजना से बाहरी एसबीटी परियोजना का संदर्भ कैसे लें?
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
मैं ला ग्रहण परियोजना संदर्भ CoreLibrary को applicationâ से एक संदर्भ जोड़ने के लिए है, ताकि हर बार CoreLibrary बदलता है applicationâ है चाहता हूँ साथ ही बनाया गया। मैंने कोशिश की applicationâ के लिए build.Scala के निम्नलिखित सामग्री:
val core = Project(
id = "platform-core",
base = file("../CoreLibrary"))
val main = Project(id = "application, base = file(".")).dependsOn(core)
हालांकि, जब संकलन applicationâ एसबीटी शिकायत है कि एक निर्भरता किसी उप हो सकता है !!:
java.lang.AssertionError: assertion failed: Directory C:\git\CoreLibrary is not contained in build root C:\git\ApplicationA
यह पूरी तरह से स्पष्ट लगता है , इस परियोजना निर्भरता का सही तरीका क्या है?
lazy val core = RootProject(file("../CoreLibrary"))
val main = Project(id = "application", base = file(".")).dependsOn(core)
मैं एक multimodule खेलने का निर्माण के साथ एक काम कर उदाहरण है:
पहला दृष्टिकोण पूरी तरह से काम करता था! धन्यवाद! रूटप्रोजेक्ट का उपयोग करना था :) दूसरे दृष्टिकोण के साथ समस्या यह है कि वे 2 गीथब रेपो हैं, इसलिए उन्हें काम करने के लिए आपको शीर्ष पर एक अतिरिक्त आवश्यकता होगी या कुछ – Diego
@Diego अलग गिट रखने के लिए एक आसान तरीका के लिए गिट सबमिशन देखें एक एकल, बाहरी, गिट रेपो के तहत repos। –
तथाकथित "उचित तरीका" एक खराब समाधान आईएमओ है। आपको दो भाई बहनों के बीच निर्भरता घोषित करने के लिए एक कंटेनर परियोजना की आवश्यकता नहीं होनी चाहिए। –