Build.scala,% y %% símbolos significado
sbt playframework-2.1 (2)
De la documentación oficial:
http://www.playframework.com/documentation/2.1.1/SBTDependencies
Obteniendo la versión correcta de Scala con
%%
Si usa
groupID %% artifactID % revision
lugar degroupID % artifactID % revision
(la diferencia es el doble%%
después delgroupID
), SBT agregará la versión de Scala de su proyecto al nombre del artefacto. Esto es solo un atajo.Puedes escribir esto sin el
%%
:
val appDependencies = Seq( "org.scala-tools" % "scala-stm_2.9.1" % "0.3" )
Suponiendo que
scalaVersion
para su compilación es2.9.1
, lo siguiente es idéntico:
val appDependencies = Seq( "org.scala-tools" %% "scala-stm" % "0.3" )
Como puede ver arriba, si usa %%
, no tiene que especificar la versión.
¡Soy nuevo en Play! Framework 2.1 (versión java) y no tienen experiencia con scala. No entiendo qué son y qué significa %
y %%
en Build.scala. Busqué en Google sobre ellos, pero no pude encontrar su significado.
En mi archivo Build.scala tengo:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final",
"com.typesafe" %% "play-plugins-mailer" % "2.1"
¿Por qué la primera línea usa un solo símbolo de% y la segunda usa dos símbolos de porcentaje %%
? ¿Para qué son?
Esto es parte de SBT que el juego usa como herramienta de compilación. Específicamente esta es una declaración de importación.
El% de símbolo %
es realmente un método utilizado para crear dependencias. El signo de porcentaje doble %%
inyecta la versión actual de Scala; esto le permite obtener la biblioteca correcta para la versión de scala que está ejecutando. Esto es para evitar tener que cambiar su archivo de compilación cuando actualiza Scala.
Más información here