Строить.scala, % и %% значение символов
Я новичок в игре! Framework 2.1 (версия java) и не имеют опыта работы с scala. Я не понимаю, что такое и что делает %
и %%
значит в строй.скала. Я погуглил о них, но не смог найти их смысл.
в моей сборке.scala файл у меня есть:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final",
"com.typesafe" %% "play-plugins-mailer" % "2.1"
Почему в первой строке используется один символ%, а во второй - два символа процента %%
?
Для чего они нужны?
2 ответа:
из официальной документации:
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" )
как вы можете видеть выше, если вы используете
%%
, вам не нужно указать версия.
это часть SBT, который play использует в качестве инструмента сборки. В частности, это оператор импорта.
символ процента
%
Это фактически метод, используемый для построения зависимостей. Знак двойного процента%%
вводит текущую версию Scala - это позволяет получить правильную библиотеку для версии scala, которую вы используете. Это делается для того, чтобы избежать необходимости изменять файл сборки при обновлении Scala.дополнительная информация здесь