2013-05-06 27 views
7

Tôi đang cố gắng sử dụng chuối-RDF, một thư viện được xuất bản tại địa phương (được xuất bản sử dụng SBT's publish-local) từ Play! Dự án khung, nhưng khi chạy compile từ bảng điều khiển của Play, thư viện mong muốn không được giải quyết, khi sử dụng compile từ bảng điều khiển của SBT, mọi thứ đều ổn.Các phụ thuộc địa phương được giải quyết bởi SBT nhưng không phải do Play! Khung

Tôi thấy hành vi này khá lạ khi Play sử dụng SBT để giải quyết các phụ thuộc. Nhân tiện, tôi đang sử dụng phiên bản 0.12.3 của SBT trong dự án Play của mình.

Các lỗi tôi nhận được khi biên dịch với Play là khá cơ bản:

[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 

bất cứ ai có thể giải thích những gì đang xảy ra ở đây? Cảm ơn bạn trước.

Trả lời

23

Vấn đề là publish-local của SBT xuất bản thư viện của bạn thành ~/.ivy2/local, trong khi Play dường như có con trỏ kho lưu trữ ivy2 cục bộ của mình tới kho lưu trữ ivy2 của thư mục cài đặt của riêng bạn (/home_local/.installedSoftware/play-2.1.1/repository/local).

Bạn có thể thêm ví dụ phân giải này để của Build.scala trên Play:

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

này là rất hữu ích cho tôi, cảm ơn bạn. –

+0

Điều lạ lùng không hiệu quả đối với tôi (SBT 0.13). Tôi đang theo dõi hoạt động của tệp hệ thống và SBT thậm chí không cố gắng chuyển đến thư mục được đề cập ở trên. – expert

Các vấn đề liên quan