/ / ¿De dónde vienen las dependencias javaWs, javaJpa, etc. en la aplicación Play / Java? - playframework, sbt

¿De dónde vienen las dependencias javaWs, javaJpa, etc. en la aplicación Play / Java? - playframework, sbt

Estoy empezando un nuevo proyecto en Play Framework con Java. Revisé el build.sbt archivar y no se pudo entender de dónde proceden los nombres de las dependencias?

libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
javaJpa
}

¿De dónde fueron estos nombres? javaWs, javaJpa, etc. com from? ¿Cómo comprobar la versión de estas bibliotecas?

Respuestas

2 para la respuesta № 1

Las dependencias enumeradas en este ejemplo son las que se envían con su instalación de Play. Las versiones coinciden con la versión de Play Framework que está utilizando.

Play Framework es modular, por lo que no tiene que usar todos sus módulos en su aplicación. Es por eso que debe especificar qué módulos desea.


8 para la respuesta № 2

tl; dr Ellos son definidos por el sbt-plugin (ver javaws y java jpa u otros en PlayImport.scala) eso es generalmente añadido a la construcción en project/plugins.sbt.

Utilizar sbt o activator Herramientas para aprender de donde vienen las partes de construcción. Asumo que usas sbt (pero lo siguiente se aplica a activator o play herramientas de línea de comandos, también).

Tenga en cuenta que una compilación sbt se describe utilizando el lenguaje Scala y todas las compilaciones sbt son de tipo seguro y compiladas usando el compilador Scala.

Un complemento de sbt es solo un conjunto de configuraciones que se pueden aplicar a un proyecto, que también puede definir Scala vals que correspondan a las diferentes dependencias que puede usar para un proyecto Play, por ejemplo, javaJdbc. Puede consultar por el vals usando consoleProject (que describí a continuación como la segunda opción).

sbt shell

Dentro del proyecto, ejecute. sbt. Mientras que en la shell sbt, ejecute show libraryDependencies Para conocer las dependencias:

> show libraryDependencies
[info] List(org.scala-lang:scala-library:2.11.1, com.typesafe.play:twirl-api:1.0.2, com.typesafe.play:play:2.3.2, com.typesafe.play:play-test:2.3.2:test, com.typesafe.play:play-docs:2.3.2:docs, com.typesafe.play:play-jdbc:2.3.2, com.typesafe.play:anorm:2.3.2, com.typesafe.play:play-cache:2.3.2, com.typesafe.play:play-ws:2.3.2)

consoleProject

Dentro del proyecto, ejecute. sbt consoleProject para aprender sobre la construcción. Estoy usando la versión Scala de un proyecto Play.

Con consoleProject entras en un Scala REPL con la compilación cargada. Está en Scala REPL y puede consultar las diferentes partes de la compilación utilizando Scala.

Utilizar eval macro para evaluar la configuración de compilación dentro consoleProject:

scala> libraryDependencies.eval
res0: Seq[sbt.ModuleID] = List(org.scala-lang:scala-library:2.11.1, com.typesafe.play:twirl-api:1.0.2, com.typesafe.play:play:2.3.2, com.typesafe.play:play-test:2.3.2:test, com.typesafe.play:play-docs:2.3.2:docs, com.typesafe.play:play-jdbc:2.3.2, com.typesafe.play:anorm:2.3.2, com.typesafe.play:play-cache:2.3.2, com.typesafe.play:play-ws:2.3.2)

Usted obtiene Seq[sbt.ModuleID] y puedes hacer lo que quieras con el valor usando Scala.

Ya que build.sbt para el proyecto se ve como sigue (mostré solo la parte con libraryDependencies)

libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)

cuando en consoleProject Puedo preguntar a qué se refieren los nombres de la siguiente manera:

scala> jdbc
res0: sbt.ModuleID = com.typesafe.play:play-jdbc:2.3.2

Recuerda, son Scala vals de sbt.ModuleID Tipo y ... nada más que eso.