2015-02-22 16 views
9

Tôi muốn biết nếu có một cách để buộc gradle sử dụng một kho lưu trữ cho một phụ thuộc. Ví dụ với:Gradle: sử dụng lực lượng của một kho lưu trữ cho một sự phụ thuộc

buildscript { 
repositories { 
    jcenter() 
    mavenCentral() 
    maven { url 'https://www.testfairy.com/maven' } 
    maven { url 'https://maven.fabric.io/repo' } 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
} 

dependencies { 
    classpath 'com.android.tools.build:gradle:1.0.1' 
    classpath "io.fabric.tools:gradle:1.+" 
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
wearApp project(':wear') 
compile project(':shimmer') 
compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
} 
compile('com.twitter.sdk.android:tweet-composer:[email protected]') { 
    transitive = true; 
} 
compile 'com.android.support:appcompat-v7:21.0.3' 
// Dagger 2 dependencies 
compile 'com.google.dagger:dagger:2.0-SNAPSHOT' 
apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT' 
provided 'org.glassfish:javax.annotation:10.0-b28' 

} 

Tôi muốn com.google.dagger để được kiểm tra ra từ https://oss.sonatype.org/content/repositories/snapshots vì bây giờ nó cố gắng để kiểm tra xem nó ra từ https://maven.fabric.io/repo mà kết quả trong các lỗi sau:

Error:Could not GET 'https://maven.fabric.io/repo/com/google/dagger/ 
dagger-compiler/2.0-SNAPSHOT/maven-metadata.xml'. Received status code 401  from server: Unauthorized 
<a href="toggle.offline.mode">Enable Gradle 'offline mode' and sync project</a> 

Cảm ơn bạn.

Trả lời

1

Không, chưa. Việc đặt hàng là quan trọng, vì vậy bạn có thể thử đặt repo fabric.io cuối cùng.

Khi tôi thử nội dung này từ dòng lệnh, tôi thấy dao găm đến từ sonatype mà không thay đổi bất kỳ thứ gì. Nó có hoạt động từ dòng lệnh cho bạn không?

+0

Tôi đã tìm ra lý do tại sao nó không hoạt động. Tôi đã có 'kho lưu trữ {maven {url" https://oss.sonatype.org/content/repositories/snapshots "}}' dưới 'áp dụng plugin' của tôi trong tập tin gradle của tôi. Tôi đã thêm 'maven {url" https://oss.sonatype.org/content/repositories/snapshots "}' vào nó và nó hoạt động. Nhưng vẫn còn, tôi không hiểu tại sao chúng ta không thể chỉ định repo để sử dụng cho các phụ thuộc cụ thể. –

10

Điều tương tự đã xảy ra với tôi tối qua, tôi có thể giải quyết bằng cách thêm các dòng sau vào tệp gradle.

compile 'com.google.dagger:dagger:2.1-SNAPSHOT' 
apt 'com.google.dagger:dagger-compiler:2.1-SNAPSHOT' 

Phiên bản 2.0 chưa có sẵn trong repository.

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