Estoy teniendo problemas con un maven de la dependencia que está en mi repositorio local.

SBT no la puede encontrar. Ya se establece el nivel de registro para depurar, pero no conseguir nada nuevo.

Los archivos están en el repositorio. Puedo copiar pegar caminos de la consola para el explorador de archivos y que están allí.

La salida:

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.pom

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: no ivy file nor artifact found for com.twitter#naggati;2.0.0

Edit: he añadido la ruta usando scala archivo en proyecto/construcción de como se describe en http://code.google.com/p/simple-build-tool/wiki/LibraryManagement

«sbt puede buscar en el repositorio Maven local si se agrega como un repositorio:»

val mavenLocal = "Local Maven Repository" at "file://"+Path.userHome+"/.m2/repository"

Que hizo sbt buscar en el repositorio local. Antes no tenía.

Para la scala de archivo se parece a esto:

import sbt._

class Foo(info: ProjectInfo) extends DefaultProject(info) {

val mavenLocal = "Local Maven Repository" at "file://c:/Users/userz/.m2/repository"

}

(I codificado Camino.userHome para excluir posibles errores de la razón. Como era de esperar no cambiar nada).

  • Usted tiene que agregar el local de maven repo para su construcción.sbt
  • El repositorio se agrega, de lo contrario el script no buscar los archivos.
  • ¿Cómo es la línea que indica sbt para buscar su dependencia? Si usted tiene algo así como … -> predeterminado, quitar default a partir de ahí.
  • En realidad no estoy usando la versión.sbt. Estoy usando scala de archivo como se describe en code.google.com/p/simple-build-tool/wiki/LibraryManagement. Editado mi post con más detalles.
  • ixx: Que la SBT 0.7.x, y es la versión de legado. Usted debe actualizar a [SBT 0.11.x])github.com/harrah/xsbt/wiki), si es posible.
InformationsquelleAutor Ixx | 2012-05-27

4 Comentarios

  1. 59

    Necesita tres barras después de la file: especificador. Esto es debido a que entre la segunda y la tercera barra, tienen una opción de nombre de host. Wikipedia tiene una buena explicación de file: URL

    Usted está teniendo un problema debido a que el patrón típico de "file://"+Path.userHome+"/.m2/repository" supone un sistema de archivos Unix, donde el camino comienza con una /, no contiene :, y por lo general no contiene espacios.

    No tiene una ruta de acceso codificado que funciona tanto en Windows y Linux/Unix, uso:

    "Local Maven" at Path.userHome.asFile.toURI.toURL + ".m2/repository"
    • no con proyectos definidos y añadiendo que el proyecto no funciona bien
    • solucionado mi problema en mac.
  2. 130

    Sólo tiene que añadir esta línea en el build.scala o construir.sbt archivo

    resolvers += Resolver.mavenLocal
    • Este no me funciona con la última SBT.
    • Que sbt es eso? Yo lo he utilizado con 0.13.11 y funciona muy bien.
    • no con proyectos definidos
    • resolvers in Global := Resolver.mavenLocal funciona para mí.
    • OMG he buscado una hora para esta solución perfecta! Thx
    • Creo que quiso decir «solucionadores en Global += Resolución.mavenLocal»

  3. 21

    Para conseguir que esto funcione para las versiones más recientes de sbt, agregue lo siguiente a construir.sbt:

    resolvers += "Local Maven Repository" at "file:///"+Path.userHome+"/.m2/repository"
    • 3 barras hizo el truco!
    • No importa lo que haga me sigue apareciendo este error al hacer sbt compilar: [advertir] :::::::::::::::::::::::::::::::::::::::::::::: [advierten] :: las DEPENDENCIAS no RESUELTAS :: [advertir] :::::::::::::::::::::::::::::::::::::::::::::: [advierten] :: com.sanoma.cda#maxmind-geoip2-scala_2.11;1.3.2: no se encuentra [advertir] :::::::::::::::::::::::::::::::::::::::::::::: [trace] seguimiento de la Pila suprimida: ejecutar la última :actualización para la salida completa. [error] (:actualización) sbt.ResolveException: dependencia no resuelta: com.sanoma.cda#maxmind-geoip2-scala_2.11;1.3.2: no encontrado
    • no me funciona
  4. 3

    Mirar hacia fuera cuando usted tiene un proyecto definido, tendrá que incluir la resolución en la configuración. Global de resolución no será identificado.

    Ejemplo:

    lazy val core = (project in file("core")).
      settings(commonSettings: _*).
      settings(
        resolvers += Resolver.mavenLocal,
        name := "Core",
        libraryDependencies := coreDependencies
      )
    • no me funciona, aunque puede tener algo que ver con los proyectos de
    • Gracias Dyin, funcionó. Añadido resolución a commonSettings, ahora todos los proyectos puede mirar en el local de maven repo para las dependencias.

Dejar respuesta

Please enter your comment!
Please enter your name here