Sum*_*uma 7 scala sbt xsbt-web-plugin
在阅读build.sbt许多 Web 应用程序时,经常可以看到标记为 的依赖项"provided",例如参见sbt-assembly 文档:
“org.apache.spark”%%“spark-core”%“0.8.0-incubating”%“提供”
我在 SBT 文档中找不到任何提及,但是Maven 文档说明了以下内容:
- 假如
这很像编译,但表明您希望 JDK 或容器在运行时提供依赖项
然而,有时我也看到"container"了同样的位置,比如在这个 build.sbt 中。这是同一件事吗?
val tomcatVersion = "7.0.53"
libraryDependencies ++= Seq(
"org.apache.tomcat.embed" % "tomcat-embed-core" % tomcatVersion % "container",
"org.apache.tomcat.embed" % "tomcat-embed-logging-juli" % tomcatVersion % "container",
"org.apache.tomcat.embed" % "tomcat-embed-jasper" % tomcatVersion % "container",
"org.apache.tomcat" % "tomcat-catalina" % tomcatVersion % "provided",
"org.apache.tomcat" % "tomcat-coyote" % tomcatVersion % "provided"
)
Run Code Online (Sandbox Code Playgroud)
依赖项的第四个元素将依赖项与配置相关联;建立配置依赖关系。它源自ivy,sbt在内部使用。
“容器”配置是在
xsbt-web-plugin0.9版本中定义的,它被引入到您在这里引用的项目中。它被用来建立容器/托管运行时sbt container:start。
顺便说一句 - 该运行时必须提供与“提供的”配置相对应的运行时库,这些库在编译阶段使用,但不包含在生成工件的传递依赖项中。