Значения символов Build.scala,% и %%
Я новичок в Play! Framework 2.1 (версия Java) и не имеют опыта работы с scala. Я не понимаю, что такое и что означает %
и %%
в Build.scala. Я искал их, но не мог понять их смысла.
В моем файле Build.scala у меня есть:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final", "com.typesafe" %% "play-plugins-mailer" % "2.1"
Почему первая строка использует один символ%, а второй использует два процента символов %%
? Для чего они?
- Совместимость шаблонов с несколькими типами Scala
- Разница между MutableList и ListBuffer
- Scala: Неявный приоритет разрешения параметров
- Что такое манифест в Скала и когда он вам нужен?
- Запрос Spark SQL DataFrame со сложными типами
- Spark: производить RDD всех возможных комбинаций из RDD
- Печать массива в Scala
- Вывести несколько столбцов из одного столбца в Spark DataFrame
- Как заставить DataFrame оценивать в Spark
- Как разбить фрейм данных на dataframes с одинаковыми значениями столбцов?
- Хороший вариант использования Akka
- Использование Либо для обработки сбоев в коде Scala
- Есть ли способ создать кортеж из списка (без кодирования)?
Из официальной документации:
http://www.playframework.com/documentation/2.1.1/SBTDependencies
Получение правильной версии Scala с
%%
Если вы используете
groupID %% artifactID % revision
а неgroupID % artifactID % revision
(разница равна double%%
после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, которую игра использует как инструмент построения. В частности, это оператор импорта.
Процент символа %
– фактически метод, используемый для создания зависимостей. Знак двойного процента %%
вводит текущую версию Scala – это позволяет вам получить нужную библиотеку для версии scala, в которой вы работаете. Это необходимо, чтобы не менять файл сборки при обновлении Scala.
Дополнительная информация здесь