के सबप्रोजेक्ट्स में अपना lib फ़ोल्डर कैसे साझा करूं, मेरे पास एक उपकरण है जो बिल्डिंग टूल के रूप में सरल निर्मित टूल चला रहा है। मेरी सभी उप परियोजनाएं समान निर्भरताओं को साझा कर रही हैं, इसलिए मैं उन्हें एक ही lib फ़ोल्डर का उपयोग करना चाहता हूं। मैं अपने साझा lib फ़ोल्डर के प्रतीकात्मक लिंक बनाकर ऐसा कर सकता हूं, लेकिन मुझे एसबीटी में एक कॉन्फ़िगरेशन मिलना है जो मुझे अपने पुस्तकालयों के पथ में बदलने देता है।मैं सरल बिल्ड टूल
override def dependencyPath = ".."/"lib"
काम नहीं करता है, ".." रास्तों
class Top(info:ProjectInfo) extends ParentProject(info){
lazy val subproject = project("sub","Sub Project",info => SubProject(info,dependencyPath)
class SubProject extends DefaultProject(info:ProjectInfo,libdir:Path){
override def dependencyPath = libdir
}
}
काम नहीं करता है की अनुमति नहीं है, dependencyPath एक परियोजना रिश्तेदार पथ
dependencyPath.absolutePath
, या तो काम नहीं करता है क्योंकि है absolutePath स्लेश के साथ एक स्ट्रिंग बनाता है, और पथ स्लेश के साथ तारों से नहीं बनाया जा सकता है।
धन्यवाद, लेकिन यह इतना आसान नहीं है। मेरे lib फ़ोल्डर में कुछ देशी पुस्तकालय शामिल हैं जिन्हें मुझे मैन्युअल रूप से क्लासपाथ में सेट करना है। इसका मतलब है कि मेरे प्रोग्राम को एक अधिलेखित runJVMOptions के साथ प्रोजेक्ट का फोर्क रन होना है। उपप्रोजेक्ट्स में पथ अब और सही नहीं है, क्योंकि वे एक अलग फ़ोल्डर से रम करते हैं। – Arne
यह मेरे लिए काम करता है। यहां एक कार्यरत प्रोजेक्ट परिभाषा है कि आपको अपनी समस्या का अनुकूलन करने में सक्षम होना चाहिए: http://gist.github.com/657060 – Moritz