De forma predeterminada, Scala Built Tool (SBT) tiene un conjunto de reglas sobre cómo generar URL al buscar dependencias. Por ejemplo, si tengo el siguiente archivo de creación,¿Cómo cambiar las reglas de SBT sobre la generación de URL para repositorios Maven?
// Project settings
name := "MyProject"
version := "0.1"
organization := "com.me"
scalaVersion := "2.8.1"
// Dependencies
libraryDependencies ++= Seq(
"com.google.guava" %% "guava" % "r09"
)
// Repositories
resolvers += "Maven Central Server" at "http://repo1.maven.org/maven2"
Entonces SBT intentos para encontrar la guayaba en la siguiente URL,
http://repo1.maven.org/maven2/com/google/guava/guava_2.8.1/r09/guava_2.8.1-r09.pom
Sin embargo, la biblioteca estoy buscando en este caso ISN' t incluso hecho para Scala, por lo que combinar la versión de Scala simplemente no tiene sentido aquí. ¿Cómo puedo decirle a SBT cuál es el formato para generar URLs para usar con los repositorios de Maven?
EDITAR
Aunque parece que es posible editar el diseño como tal,
Resolver.url("Primary Maven Repository",
new URL("http://repo1.maven.org/maven2/"))(Patterns("[organization]/[module]/[module]-[revision].[ext]"))
la "[módulo]" palabra clave está predefinido para ser el (Identificación del artefacto) _ (versión scala) y la palabra clave "[artefacto]" es solo "hiedra", dejándome de nuevo en el punto uno.
Eso parece para ser exactamente eso, aunque sbt v0.10.1 elige ocultar el contenedor en profundidad en ~/.ivy2/cache/com.google.guava/guava/jar, pero eso es un problema diferente. ¡Gracias! – duckworthd
Puedes pedirle a sbt que lo ponga los frascos en ./lib_managed. Solo eche un vistazo a la guía de migración sbt. (Nunca lo usé, así que no sé dónde está) – Jan
Ya lo encontré. Todo lo que se necesita es establecer, "retrieveManaged: = true" – duckworthd