2013-05-06 4 views
7

Ich versuche Banana-RDF, eine lokal veröffentlichte Bibliothek (veröffentlicht mit SBT publish-local) aus einem Play! Framework-Projekt, aber beim Ausführen compile von Play-Konsole, die gewünschte Bibliothek ist nicht gelöst, wenn compile von SBT-Konsole alles in Ordnung geht.Lokale Abhängigkeiten aufgelöst von SBT, aber nicht von Play! Framework

Ich finde dieses Verhalten ziemlich seltsam, da Play SBT verwendet, um Abhängigkeiten aufzulösen. Übrigens verwende ich die Version 0.12.3 von SBT in meinem Play-Projekt.

Der Fehler, den ich immer bin, wenn mit Play Kompilieren ist ziemlich einfach:

[warn] module not found: org.w3#banana_2.10;2013_02_21-SNAPSHOT    
[warn] ==== local: tried 
[warn] /home_local/.installedSoftware/play-2.1.1/repository/local/org.w3/banana_2.10/2013_02_21-SNAPSHOT/ivys/ivy.xml 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== Typesafe Snapshots Repository: tried 
[warn] http://repo.typesafe.com/typesafe/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== Akka Snapshots: tried 
[warn] http://repo.akka.io/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== OSS117: tried 
[warn] http://oss.sonatype.org/content/repositories/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== Local Maven Repository: tried 
[warn] file:///home_local/.m2/repository/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== Local SBT Repository: tried 
[warn] file:///home_local/.ivy2/local/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom 

Kann mir jemand erklären, was hier geschieht? Vielen Dank im Voraus.

Antwort

23

Das Problem ist, dass SBT publish-local Ihrer Bibliothek ~/.ivy2/local veröffentlicht, während Wiedergabe seiner ivy2 lokalen Repository Zeiger auf das ivy2 Repository seiner eigenen Installationsordner zu haben scheint (Ihr /home_local/.installedSoftware/play-2.1.1/repository/local).

Sie können beispielsweise hinzufügen, um dieses Resolver zu Ihrem Spiel Build.scala:

resolvers += Resolver.file("Local repo", file(System.getProperty("user.home") + "/.ivy2/local"))(Resolver.ivyStylePatterns) 
+0

Das ist für mich sehr nützlich, danke. –

+0

Seltsamerweise funktioniert es bei mir nicht (SBT 0.13). Ich überwache die Systemdateiaktivität und SBT versucht nicht einmal, zu dem oben erwähnten Ordner zu gehen. – expert