मैं एक ऐसी परियोजना बनाने के लिए एसबीटी प्राप्त करने की कोशिश कर रहा हूं जिसमें एक से अधिक अप्रबंधित निर्देशिका हो सकती है। अगर मैं एक ही निर्देशिका था, मैं आसानी से यह इस तरह कर सकता है:मैं एसबीटी में एक से अधिक अप्रबंधित निर्देशिका से जार कैसे जोड़ सकता हूं। स्केल प्रोजेक्ट कॉन्फ़िगरेशन
unmanagedBase := file("custom-libs").getAbsoluteFile
लेकिन चूंकि मैं अप्रबंधित जार के साथ दो निर्देशिका है, मैं उन सब को जोड़ने के लिए सक्षम होना चाहिए। मुझे कुछ जानकारी in here मिली है, लेकिन अभी भी मेरे पूर्ण .scala फ़ाइल निर्माण के लिए उपयोगी प्रतीत नहीं होता है।
मैंने एक साधारण परियोजना बनाई है जो समस्या in here दिखाती है। और नीचे मेरा Build.scala फ़ाइल है।
अद्यतन
मैं कुछ मदद प्रपत्र sbt-users list मिल गया है और सही ढंग से अप्रबंधित-जार परिभाषित करने के लिए सक्षम किया गया है, लेकिन अभी भी कोड संकलन नहीं करता है (लेकिन एसबीटी शो अप्रबंधित-जार फ़ाइलों को सही तरीके से दिखाता है)।
import sbt._
import com.github.siasia._
import PluginKeys._
import Keys._
object Build extends sbt.Build {
import Dependencies._
val unmanagedListing = unmanagedJars := {
Dependencies.listUnmanaged(file(".").getAbsoluteFile)
}
lazy val myProject = Project("spray-template", file("."))
.settings(WebPlugin.webSettings: _*)
.settings(port in config("container") := 8080)
.settings(
organization := "com.example",
version := "0.9.0-RC1",
scalaVersion := "2.9.1",
scalacOptions := Seq("-deprecation", "-encoding", "utf8"),
resolvers ++= Dependencies.resolutionRepos,
libraryDependencies ++= Seq(
Compile.akkaActor,
Compile.sprayServer,
Test.specs2,
Container.jettyWebApp,
Container.akkaSlf4j,
Container.slf4j,
Container.logback
),
unmanagedListing
)
}
object Dependencies {
val resolutionRepos = Seq(
ScalaToolsSnapshots,
"Typesafe repo" at "http://repo.typesafe.com/typesafe/releases/",
"spray repo" at "http://repo.spray.cc/"
)
def listUnmanaged(base : RichFile) : Keys.Classpath = {
val baseDirectories = (base/"custom-libs") +++ (base/"custom-libs2")
(baseDirectories ** "*.jar").classpath
}
object V {
val akka = "1.3"
val spray = "0.9.0-RC1"
val specs2 = "1.7.1"
val jetty = "8.1.0.v20120127"
val slf4j = "1.6.4"
val logback = "1.0.0"
}
object Compile {
val akkaActor = "se.scalablesolutions.akka" % "akka-actor" % V.akka % "compile"
val sprayServer = "cc.spray" % "spray-server" % V.spray % "compile"
}
object Test {
val specs2 = "org.specs2" %% "specs2" % V.specs2 % "test"
}
object Container {
val jettyWebApp = "org.eclipse.jetty" % "jetty-webapp" % V.jetty % "container"
val akkaSlf4j = "se.scalablesolutions.akka" % "akka-slf4j" % V.akka
val slf4j = "org.slf4j" % "slf4j-api" % V.slf4j
val logback = "ch.qos.logback" % "logback-classic" % V.logback
}
}
मैं न एक build.sbt फ़ाइल है, मैं अपने Build.scala पर इस रखूँ गया फाइल? –
@ MaurícioLinhares क्या आपने बस उन पंक्तियों को अपनी 'Build.scala' फ़ाइल में जोड़ने का प्रयास किया है? – ziggystar
इसे बिल्ड ऑब्जेक्ट बॉडी के अंदर जोड़ा गया, काम नहीं करता है। –