मैं एसबीटी के साथ स्कैला वेब प्रोजेक्ट सेट अप करने का प्रयास कर रहा हूं। मैंने सेटिंग्स का पालन किया है।एसबीटी वेब प्लगइन: स्कॉप्डकी प्राप्त करने में त्रुटि (स्कोप (यह, चयन करें (कॉन्फ़िगर (कंटेनर)), यह, यह), पूर्ण-श्रेणीपथ)
- स्केला 2.9.0-1
- एसबीटी 0.11.0
- xsbt-वेब-प्लगइन 0.2.1
परियोजना/plugins.sbt
libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % (v+"-0.2.1"))
परियोजना/TaskTrackerBuild.scala
import sbt._
import com.github.siasia._
import WebPlugin._
import PluginKeys._
import Keys._
/**
* Main sbt build file for the task-tracker project.
*
*/
object TicketingCoreProject extends Build {
val ticketingVersion = "1.0.0-SNAPSHOT"
val Organization = "org.sansoft"
val ScalaVersion = "2.9.0-1"
val jodaTime = "joda-time" % "joda-time" % "1.6"
val scalaTime = "org.scala-tools.time" % "time_2.8.0" % "0.2"
val casbah = "com.mongodb.casbah" % "casbah_2.9.0-1" % "2.1.5.0"
val Slf4jLog4jDep = "org.slf4j" % "slf4j-log4j12" % "1.6.1"
val ScalaCheckDep = "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test"
val JUnitDep = "junit" % "junit" % "4.8.2" % "test"
val scalaTesting = "org.scala-tools.testing" %% "specs" % "1.6.8" % "test"
//val scctSbt = "ch.craven" %% "scct-plugin" % "0.2"
val vaadin = "com.vaadin" % "vaadin" % "6.7.0"
val jettyWebApp = "org.eclipse.jetty" % "jetty-webapp" % "7.3.0.v20110203" % "container"
val jettyPlus = "org.eclipse.jetty" % "jetty-plus" % "7.3.0.v20110203" % "container"
val repositories = Seq(
ScalaToolsSnapshots,
"typesafe releases" at "http://repo.typesafe.com/typesafe/releases",
"typesafe snapshots" at "http://repo.typesafe.com/typesafe/snapshots",
"scct-repo" at "http://mtkopone.github.com/scct/maven-repo")
def publishToRepository = Some(Resolver.file("Local Maven Repository", Path.userHome/".m2"/"repository" asFile))
lazy val baseSettings = Defaults.defaultSettings ++ Seq(
version := ticketingVersion,
organization := Organization,
scalaVersion := ScalaVersion,
publishMavenStyle := true,
publishTo := publishToRepository,
resolvers ++= repositories,
checksums := Nil
)
lazy val parent = Project("taskTrackerParent", file("."),
settings = baseSettings ++ Seq(
name := "task-tracker-parent"
))
lazy val core = Project("core", file("core"),
settings = baseSettings ++ Seq(
name := "core",
libraryDependencies ++= Seq(
jodaTime,
scalaTime,
scalaTesting,
ScalaCheckDep,
casbah,
jodaTime,
scalaTime)))
lazy val web = Project("web", file("web"),
settings = baseSettings ++ webSettings ++ Seq(
name := "web",
libraryDependencies ++= Seq(
jodaTime,
scalaTime,
scalaTesting,
ScalaCheckDep,
casbah,
jodaTime,
scalaTime,
vaadin,
jettyWebApp,
jettyPlus))) dependsOn(core)
}
जब मैं इस बिल्ड फ़ाइल के साथ एसबीटी शुरू करने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है।
[error] Error getting ScopedKey(Scope(This,Select(ConfigKey(container)),This,This),full-classpath)
[error] Use 'last' for the full log.
यदि मैं वेब प्रोजेक्ट से कॉन्फ़िगरेशन वेब सेटिंग्स को हटाता हूं तो एसबीटी प्रोजेक्ट ठीक से संकलित करता है। मैंने इसमें क्या गलत किया है ???
अग्रिम धन्यवाद।
सोचा कि यह केवल एक कामकाज है, क्या आपने पूर्ण बिल्ड कॉन्फ़िगरेशन ('project/TaskTrackerBuild.scala') पर 'xsbt-web-plugin' निर्भरता को स्थानांतरित करने पर विचार किया था? मुझे संदेह है, यह अच्छा और पूर्ण कॉन्फ़िगर करने के लिए अच्छा (कहना नहीं है, सुरक्षित) तरीका है। –
वास्तव में xsbt-web-plugin में एक बग था [https://github.com/siasia/xsbt-web-plugin/issues/40](https://github.com/siasia/xsbt-web-plugin/मुद्दों/40)। अब तय है और मेरा एसबीटी बिल्ड ठीक काम कर रहा है। –