나는 새로운 게임입니다! Framework 2.1 (Java 버전)이며 스칼라에 대한 경험이 없습니다. Build.scala의 정의 %
와 %%
의미 및 의미를 이해하지 못합니다. 나는 그들에 대해 봤지만 그들의 의미를 찾을 수 없었다.
내 Build.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
올바른 스칼라 버전 얻기
%%
당신이 사용하는 경우
groupID %% artifactID % revision
대신groupID % artifactID % revision
(차이가 두 배%%
애프터
groupID
), SBT는 이슈 이름으로 프로젝트의 스칼라 버전을 추가 할 것입니다. 이것은 바로 가기입니다.당신은 이것을없이 쓸 수 있습니다
%%
: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의 일부입니다. 특히 이것은 import 문입니다.
백분율 기호 %
는 실제로 종속성을 빌드하는 데 사용되는 방법입니다. 이중 백분율 기호 %%
는 현재 스칼라 버전을 주입합니다. 이렇게하면 실행중인 스칼라 버전에 맞는 라이브러리를 얻을 수 있습니다. Scala를 업데이트 할 때 빌드 파일을 변경하지 않아도됩니다.
더 자세한 정보는 여기