SBT ne trouve pas de fichier dans le référentiel maven local bien qu'il est là
Je vais avoir des problèmes avec une dépendance maven qui est dans mon local respository.
SBT ne peut pas le trouver. Déjà régler le niveau du journal de débogage, mais ne pas obtenir quelque chose de nouveau.
Les fichiers sont dans le référentiel. J'ai copier coller les chemins à partir de la console à l'explorateur de fichiers et ils sont là.
La sortie:
[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: j'ai ajouté le chemin à l'aide de la scala de fichiers dans un projet/construire comme décrit dans http://code.google.com/p/simple-build-tool/wiki/LibraryManagement
"sbt pouvez rechercher votre référentiel Maven local si vous ajouter en tant que référentiel:"
val mavenLocal = "Local Maven Repository" at "file://"+Path.userHome+"/.m2/repository"
Qui fait sbt regarder dans le référentiel local. Avant qu'il n'en avait pas.
Donc la scala de fichier ressemble à ceci:
import sbt._
class Foo(info: ProjectInfo) extends DefaultProject(info) {
val mavenLocal = "Local Maven Repository" at "file://c:/Users/userz/.m2/repository"
}
(J'ai codé en dur Chemin.userHome pour exclure les erreurs possibles de la raison. Comme prévu, il n'a rien changé).
- Vous devez ajouter le repo maven local de votre construction.sbt
- Le référentiel est ajouté, sinon le script ne serait pas là pour les fichiers.
- Quelle est la ligne qui indique sbt chercher votre dépendance? Si vous avez quelque chose comme ... -> par défaut, supprimer par défaut à partir de là.
- En fait, je ne suis pas à l'aide de construire.sbt. Je suis à l'aide d'un scala de fichier comme décrit dans la code.google.com/p/simple-build-tool/wiki/LibraryManagement. Édité mon post avec plus de détails.
- ixx: C'est SBT 0.7.x, et c'est l'ancienne version. Vous devez mettre à jour à [SBT 0.11.x])github.com/harrah/xsbt/wiki), si possible.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de trois barres obliques après la
file:
spécificateur. C'est parce que entre la deuxième et la troisième barre oblique, vous avez une option nom d'hôte. Wikipédia a une bonne explication defile:
URLVous rencontrez un problème, parce que le modèle typique de
"file://"+Path.userHome+"/.m2/repository"
suppose un système de fichiers Unix, où le chemin commence par un/
, ne contient pas de:
, et généralement ne contient pas d'espaces.D'avoir un non-codé en dur chemin qui fonctionne sur Windows et Linux/Unix, utilisation:
Il suffit d'ajouter cette ligne dans le construire.scala ou à construire.sbt fichier
resolvers in Global := Resolver.mavenLocal
fonctionne pour moi.Pour obtenir que cela fonctionne pour les versions plus récentes de sbt, ajoutez la ligne suivante à construire.sbt:
Regarder quand vous avez un projet défini, vous devez inclure le programme de résolution dans les paramètres. Global de résolution ne sera pas identifié.
Exemple: