scala sbt playframework-2.1

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 de groupID % artifactID % revision (la diferencia es el doble %% después del groupID ), 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 es 2.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