2011-06-28 7 views
5

मैं एक एसबीटी 0.10.0 परियोजना है कि कुछ हद तक जैसे कुछ निर्भरता वाणी है:कैसे एक एसबीटी पर निर्भरता को जार की सूची प्राप्त करने 0.10.0 परियोजना

object MyBuild extends Build { 
    val commonDeps = Seq("commons-httpclient" % "commons-httpclient" % "3.1", 
         "commons-lang" % "commons-lang" % "2.6") 

    val buildSettings = Defaults.defaultSettings ++ Seq (organization := "org") 

    lazy val proj = Project("proj", file("src"), 
     settings = buildSettings ++ Seq(
      name     := "projname", 
      libraryDependencies  := commonDeps, ...) 

    ... 
} 

मैं एक निर्माण नियम creat करने के लिए सभी को इकट्ठा करना चाहते हैं "proj" की जार निर्भरता, ताकि मैं उन्हें एक निर्देशिका में सिमलिंक कर सकूं।

धन्यवाद।

+0

'लाइब्रेरी निर्भरता' मान? लगता है कि आप कमांड लाइन पर एसबीटी शुरू कर सकते हैं और lib + लिख सकते हैं और सुझाव प्राप्त कर सकते हैं .. – eivindw

+0

मुझे पता है कि ओपी ने एसबीटी 10.0 के बारे में पूछा है, लेकिन दूसरों के लिए, मैंने अभी ध्यान दिया है कि 11.3 में आप "एसबीटी क्लासपाथ" के साथ कक्षा पथ प्राप्त कर सकते हैं। – Traveler

उत्तर

8

उदाहरण एसबीटी कार्य पूर्ण क्रम classpath मुद्रित करने के लिए

नीचे मैं मोटे तौर पर क्या उपयोग कर रहा हूँ है। एसबीटी प्रॉम्प्ट से "गेट-जार" कार्य निष्पादन योग्य है।

import sbt._ 
import Keys._ 
object MyBuild extends Build { 
    // ... 
    val getJars = TaskKey[Unit]("get-jars") 
    val getJarsTask = getJars <<= (target, fullClasspath in Runtime) map { (target, cp) => 
    println("Target path is: "+target) 
    println("Full classpath is: "+cp.map(_.data).mkString(":")) 
    } 
    lazy val project = Project (
    "project", 
    file ("."), 
    settings = Defaults.defaultSettings ++ Seq(getJarsTask) 
) 
} 

अन्य संसाधन

  • Unofficial guide 0,10 एसबीटी करने के लिए।
  • Keys.scala पूर्वनिर्धारित कुंजी को परिभाषित करता है। उदाहरण के लिए, आप fullClasspath को managedClasspath के साथ प्रतिस्थापित करना चाहेंगे।
  • This plugin एक .enime फ़ाइल उत्पन्न करने के लिए एक सरल कमांड को परिभाषित करता है, और यह एक उपयोगी संदर्भ हो सकता है।
+2

धन्यवाद! वह अनधिकृत गाइड लिंक बहुत अच्छी इच्छा है जिसे मैंने पहले पाया था। बीटीडब्ल्यू आपके पास एक शानदार नाम है। – crelbor

+0

धन्यवाद! मदद करने में खुशी। –

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