Значения символов 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"
Почему первая строка использует один символ%, а второй использует два процента символов %%
?
Для чего они нужны?
Ответы
Ответ 1
Из официальной документации:
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"
)
Как вы можете видеть выше, если вы используете %%
, вам не нужно указывать
версия.
Ответ 2
Это часть SBT, которую игра использует как инструмент построения. В частности, это оператор импорта.
Символ процента %
- фактически метод, используемый для создания зависимостей. Знак с двойным процентом %%
вводит текущую версию Scala - это позволяет вам получить нужную библиотеку для версии Scala, которую вы используете. Это необходимо, чтобы не менять файл сборки при обновлении Scala.
Дополнительная информация здесь