Estoy tratando de configurar el proyecto de scala web con sbt. He seguido la configuración.SBT Web Plugin: Error al obtener ScopedKey (Ámbito (Esto, Seleccionar (ConfigKey (contenedor)), Esto, Esto), classpath completo)
- Scala 2.9.0-1
- SBT 0.11.0
- xsbt en web-plugin proyecto 0.2.1
/plugins.sbt
libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % (v+"-0.2.1"))
proyecto/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)
}
Cuando intento iniciar sbt con este archivo de compilación obtengo un error de seguimiento.
[error] Error getting ScopedKey(Scope(This,Select(ConfigKey(container)),This,This),full-classpath)
[error] Use 'last' for the full log.
Si elimino la configuración webSettings del proyecto web proyecto sbt compila bien. ¿Qué he hecho mal en esto?
Gracias de antemano.
Pensamos que es solo una solución, ¿consideraron mover la dependencia 'xsbt-web-plugin' a la configuración de compilación completa (' project/TaskTrackerBuild.scala')? Estoy en duda, es una buena (por no decir segura) forma de coexistir configuraciones cortas y completas. –
En realidad, había un error en xsbt-web-plugin [https://github.com/siasia/xsbt-web-plugin/issues/40](https://github.com/siasia/xsbt-web-plugin/issues/40). Ahora está arreglado y mi compilación sbt está funcionando bien. –