Buduj.Scala, Symbole % i %% znaczenie

Jestem nowy w grze! Framework 2.1 (Wersja java) i nie mają doświadczenia ze scalą. Nie rozumiem czym są i co oznaczają % i %% W Build.scala. Wygooglowałem o nich, ale nie mogłem znaleźć ich znaczenia.

W mojej budowie.plik scala, który mam:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final",
"com.typesafe" %% "play-plugins-mailer" % "2.1"

Dlaczego pierwsza linia używa pojedynczego symbolu%, a druga używa dwóch symboli procent %%? Do czego one służą?

Author: ROMANIA_engineer, 2013-07-04

2 answers

Z oficjalnej dokumentacji:

Http://www.playframework.com/documentation/2.1.1/SBTDependencies

Uzyskanie odpowiedniej wersji Scali z %%

Jeśli użyjesz groupID %% artifactID % revision zamiast groupID % artifactID % revision (różnica jest podwójna %% po groupID), SBT doda wersję Scali Twojego projektu do artefaktu nazwisko. To tylko skrót.

Możesz to napisać Bez %%:

val appDependencies = Seq(
  "org.scala-tools" % "scala-stm_2.9.1" % "0.3"
)

Zakładając scalaVersion dla twojej budowy jest 2.9.1, następujące są identyczne:

val appDependencies = Seq(
  "org.scala-tools" %% "scala-stm" % "0.3"
)

Jak widać powyżej, jeśli używasz %%, nie musisz określać wersja.

 137
Author: Mingyu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-20 16:12:55

Jest to część SBT, której play używa jako narzędzia do budowania. W szczególności jest to Oświadczenie o imporcie.

Symbol procentowy {[0] } jest właściwie metodą używaną do budowania zależności. Znak double percent %% wstrzykuje bieżącą wersję Scali - pozwala to uzyskać poprawną bibliotekę dla wersji Scali, z której korzystasz. Ma to na celu uniknięcie konieczności zmiany pliku kompilacji podczas aktualizacji Scali.

Więcej informacji tutaj

 20
Author: Boris the Spider,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-12 14:31:23