我是新手!框架 2.1(java 版本)并且没有使用 scala 的经验。我不明白Build.scala 中的内容%和%%含义。我用谷歌搜索了它们,但找不到它们的含义。
%
%%
在我的 Build.scala 文件中,我有:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final", "com.typesafe" %% "play-plugins-mailer" % "2.1"
为什么第一行使用单个 % 符号而第二行使用两个百分比符号%%?它们是干什么用的?
来自官方文档:
http://www.playframework.com/documentation/2.1.1/SBTDependencies
获得正确的 Scala 版本%% 如果您使用groupID %% artifactID % revision而不是groupID % artifactID % revision(区别是%%后面的 双groupID精度),SBT 会将您的项目的 Scala 版本添加到工件名称中。这只是一个捷径。 您可以在没有以下内容的情况下编写%%: val appDependencies = Seq( "org.scala-tools" % "scala-stm_2.9.1" % "0.3" ) 假设scalaVersion你的构建是2.9.1,以下是相同的: val appDependencies = Seq( "org.scala-tools" %% "scala-stm" % "0.3" )
获得正确的 Scala 版本%%
如果您使用groupID %% artifactID % revision而不是groupID % artifactID % revision(区别是%%后面的 双groupID精度),SBT 会将您的项目的 Scala 版本添加到工件名称中。这只是一个捷径。
groupID %% artifactID % revision
groupID % artifactID % revision
groupID
您可以在没有以下内容的情况下编写%%:
val appDependencies = Seq( "org.scala-tools" % "scala-stm_2.9.1" % "0.3" )
假设scalaVersion你的构建是2.9.1,以下是相同的:
scalaVersion
2.9.1
val appDependencies = Seq( "org.scala-tools" %% "scala-stm" % "0.3" )
如上所示,如果使用%%,则不必指定版本。