2013-05-03 30 views
7

Tôi có định nghĩa sau đây trong build.sbt tôi:SBT không sử dụng phân giải ssh-based để giải quyết phụ thuộc

libraryDependencies += "com.bubblefoundry" %% "something" % "0.1-SNAPSHOT" 

resolvers += { 
    val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa") 
    Resolver.ssh("Bubble Foundry", "bubblefoundry.com", "/usr/local/repository/") as ("peter", privateKeyFile) withPermissions("0644") 
} 

Khi SBT cố gắng giải quyết sự phụ thuộc, nó không thành công:

[info] Resolving com.bubblefoundry#something_2.10;0.1-SNAPSHOT ... 
[warn] module not found: com.bubblefoundry#something_2.10;0.1-SNAPSHOT 
[warn] ==== local: tried 
[warn] /Users/peter/.ivy2/local/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/ivys/ivy.xml 
[warn] ==== Bubble Foundry: tried 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/something_2.10-0.1-SNAPSHOT.pom 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.bubblefoundry#something_2.10;0.1-SNAPSHOT: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 

Nó xuất hiện như nó thậm chí không kết nối với máy chủ để tìm sự phụ thuộc. Tại sao vậy? Tôi có làm điều gì sai?

Các phụ thuộc đã được xuất bản (sử dụng cùng một định nghĩa thống xử lý) để /usr/local/repository/com/bubblefoundry/...

Trả lời

-1

Tôi tìm thấy một giải pháp: chuyển ssh-sftp:

resolvers += { 
    val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa") 
    Resolver.sftp("Bubble Foundry", "bubblefoundry.com", "/usr/local/repository/") as ("peter", privateKeyFile) 
} 
+0

không hoạt động đối với tôi. hành vi tương tự như với ssh. – scravy

0

Sau khi cập nhật lên SBT 0.13, tôi có thể sử dụng của tôi repo riêng bằng cách thêm dòng sau vào build.sbt

resolvers += Resolver.ssh("Company Maven Repo", "[email protected]:company/company-repo.git", "/raw/master") 

Hộp thoại bật lên hỏi tên người dùng github của tôi và mật khẩu


Đó là lỗi!

Ví dụ tôi đang sử dụng github để lưu trữ một kho lưu trữ maven riêng/nội bộ được truy cập thông qua SSH. Tôi có thể kéo các hiện vật mà không gặp khó khăn gì khi sử dụng các tệp Maven/POM như bạn mong đợi.

Nhưng không thể nhận SBT (0.12.2) để hoạt động. Bối rối nhất, nó chỉ nói

== REPO_NAME: tried 

Ngay cả khi tôi chỉ định xác thực không hợp lệ hoặc cung cấp url ssh xấu, nó cũng không có báo cáo lỗi.

Đã dành một vài giờ nghiên cứu và thử kết hợp không có kết quả. Vì vậy, tôi đề nghị repos SSH không hoạt động đúng.

+0

'resolvers + = Resolver.ssh (" Công ty Maven Repo "," [email protected]: company/company-repo.git ","/raw/master ")' không hoạt động đối với tôi ... Bạn có thể đăng bài không biết thêm chi tiết? – mkurz

+1

Tôi gặp vấn đề tương tự; đối với các giải pháp SSH và SFTP, SBT dường như không cố gắng kết nối và truy xuất các tạo phẩm (chính xác như mô tả của Dominic). Tuy nhiên, nếu tôi _do_ cung cấp một 'Mẫu' (như được mô tả bởi [nhận xét về vấn đề SBT # 1810] (https://github.com/sbt/sbt/issues/1810#issuecomment-160608021)), nó sẽ tạo ra một cố gắng, nhưng nó chỉ yêu cầu 'ivy.xml' (nhưng không phải là POM). –

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