Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释play框架中的Build.scala_Scala_Playframework_Playframework 2.0_Sbt - Fatal编程技术网

解释play框架中的Build.scala

解释play框架中的Build.scala,scala,playframework,playframework-2.0,sbt,Scala,Playframework,Playframework 2.0,Sbt,有人能详细解释Build.scala的语法吗?例如,我有以下Build.scala: import sbt._ import Keys._ import play.Project._ object Build extends sbt.Build { val appName = "myapp" val appVersion = "1.0" val appDependencies = Seq( "postgresql" % "p

有人能详细解释Build.scala的语法吗?例如,我有以下
Build.scala

import sbt._
import Keys._
import play.Project._

object Build extends sbt.Build {

   val appName         = "myapp"
   val appVersion      = "1.0"

   val appDependencies = Seq(
      "postgresql"    %   "postgresql"        % "9.1-901-1.jdbc4",
      javaCore,
      javaJdbc,
      javaEbean,
      "org.json"      %"org.json"             % "chargebee-1.0",
      "org.reflections" % "reflections" % "0.9.8",
      "org.mockito"   %   "mockito-all"       % "1.9.5" % "test"
    )

    val main = play.Project(appName, appVersion, appDependencies).settings(
      libraryDependencies += "com.jolbox" % "bonecp" % "0.8.0-rc2-SNAPSHOT",
      resolvers += Resolver.url("sbt-plugin-snapshots", new URL("http://repo.scala-sbt.org/scalasbt/sbt-plugin-snapshots/"))(Resolver.ivyStylePatterns),
      resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
    )

}
如何将
appDependencies
解析器匹配?或者,我如何知道需要为
appDependencies
添加哪些
解析器?我应该在解析器的回购协议中查找什么?什么是
libraryDependencies
?它们与
appDependencies
有何不同


谢谢。

这里有几件事我们需要解决

让我们首先区分sbt构建文件和
build.scala
。虽然构建文件完全类似于Maven pom或Gradle构建文件,但可以将
build.scala
看作是一种具有scala全部功能和表达能力的构建功能,因为它与其他任何类一样是scala类。我相信随着sbt的最新版本,两者之间的差距已经缩小

现在,在sbt和
Build.scala
中,您都有了一个概念,即哪些jar库包含可用于项目的代码。这些库可以在很多地方找到——Maven存储库、本地文件系统等等。您可以使用它们来指定这些位置

所以你要告诉他们你需要什么罐子,在哪里找到它们


至于
appDependencies
,这实际上不是一件事。正如我所说,
Build.scala
和其他类一样是一个类,
appDependencies
只是一个变量名。使用这个名称是有意义的,因为
Seq
就是您将传递给
项目
构造函数的内容。

这里有一些事情需要澄清

让我们首先区分sbt构建文件和
build.scala
。虽然构建文件完全类似于Maven pom或Gradle构建文件,但可以将
build.scala
看作是一种具有scala全部功能和表达能力的构建功能,因为它与其他任何类一样是scala类。我相信随着sbt的最新版本,两者之间的差距已经缩小

现在,在sbt和
Build.scala
中,您都有了一个概念,即哪些jar库包含可用于项目的代码。这些库可以在很多地方找到——Maven存储库、本地文件系统等等。您可以使用它们来指定这些位置

所以你要告诉他们你需要什么罐子,在哪里找到它们

至于
appDependencies
,这实际上不是一件事。正如我所说,
Build.scala
和其他类一样是一个类,
appDependencies
只是一个变量名。使用该名称是有意义的,因为
Seq
是您将传递给
项目
构造函数的内容