jdk descargar como scala dependencies sbt

descargar - scala jdk



¿Cómo ver el árbol de dependencias en sbt? (4)

Intenté usar el "net.virtual-void" % "sbt-dependency-graph" mencionado anteriormente y obtuve 9K líneas como resultado (hay muchas líneas vacías y duplicados) en comparación con ~ 180 líneas (exactamente una línea para cada dependencia) en mi proyecto) como el resultado en la mvn dependency:tree de Maven mvn dependency:tree salida de mvn dependency:tree . Así que escribí una task contenedor sbt para ese objetivo de Maven, un truco feo pero funciona:

// You need Maven installed to run it. lazy val mavenDependencyTree = taskKey[Unit]("Prints a Maven dependency tree") mavenDependencyTree := { val scalaReleaseSuffix = "_" + scalaVersion.value.split(''.'').take(2).mkString(".") val pomXml = <project> <modelVersion>4.0.0</modelVersion> <groupId>groupId</groupId> <artifactId>artifactId</artifactId> <version>1.0</version> <dependencies> { libraryDependencies.value.map(moduleId => { val suffix = moduleId.crossVersion match { case binary: sbt.librarymanagement.Binary => scalaReleaseSuffix case _ => "" } <dependency> <groupId>{moduleId.organization}</groupId> <artifactId>{moduleId.name + suffix}</artifactId> <version>{moduleId.revision}</version> </dependency> }) } </dependencies> </project> val printer = new scala.xml.PrettyPrinter(160, 2) val pomString = printer.format(pomXml) val pomPath = java.nio.file.Files.createTempFile("", ".xml").toString val pw = new java.io.PrintWriter(new File(pomPath)) pw.write(pomString) pw.close() println(s"Formed pom file: $pomPath") import sys.process._ s"mvn -f $pomPath dependency:tree".! }

Estoy tratando de mostrar el árbol de dependencia SBT como se describe en la documentation :

sbt inspect tree clean

Pero me sale este error:

[error] inspect usage: [error] inspect [uses|tree|definitions] <key> Prints the value for ''key'', the defining scope, delegates, related definitions, and dependencies. [error] [error] inspect [error] ^

¿Qué está mal? ¿Por qué SBT no construye el árbol?


Si desea ver las dependencias de la biblioteca , puede usar el complemento de coursier : https://github.com/coursier/coursier#printing-trees

Ejemplo de salida: texto (sin colores): https://gist.github.com/vn971/3086309e5b005576533583915d2fdec4

Tenga en cuenta que el complemento tiene una naturaleza completamente diferente a la impresión de árboles. Está diseñado para descargas de dependencias rápidas y concurrentes. Pero es agradable y se puede agregar a casi cualquier proyecto, así que creo que vale la pena mencionarlo.


Si desea ver realmente las dependencias de la biblioteca (como lo haría con Maven) en lugar de las dependencias de tareas (que es lo que inspect tree muestra), entonces querrá usar el sbt-dependency-graph .

Agregue lo siguiente a su proyecto / plugins.sbt (o los plugins.sbt globales).

addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")

Luego tiene acceso al comando dependencyTree y a otros.


Cuando se ejecuta desde la línea de comandos , se supone que cada argumento enviado a sbt es un comando, por lo que sbt inspect tree clean will:

  • ejecuta el comando inspect ,
  • luego ejecuta el comando tree ,
  • entonces el comando clean

Esto obviamente falla, ya que inspect necesita un argumento. Esto hará lo que quieras:

sbt "inspect tree clean"