2014-09-22 11 views
6

Bazı nedenlerle offshore ekibim Müşterilerimden yapaylıkları (Bağımlılıkları) yükleyemiyor Kuruluşlar bağımlılık depomuz olan artefakt. "Bağımlılıkları Yenile" hiçbir şeyi tetiklemez ve TIME OUT EXCEPTION verir . "Gradle Bağımlılıklarım" ın "D: /C813507/Gradle/gradle-1.11/bin/caches/modules-2/files-2.1/" adresine indirildiğini görüyorum. Bu klasörü zipleyebilir ve onlara gönderebilir miyim? Yerel dizine işaret eden bir şeyi nasıl uygularlar? Yapım kürekim aşağıdaki çizgiye sahip. Eğer deniz takıma erişim sağlamak yapamıyorsanız Windows işletimYerel dizin için Gradle depo noktası nasıl yapılır

repositories { 
     maven { 
      url 'http://artifactory.myorg.com:8081/artifactory/plugins-release' 
     } 

} 
+0

Kuruluşunuzun açık denizcilik ekibine neden yapay olarak erişmesine izin vermiyorsunuz? – dieend

cevap

15

yerel dizine URL'yi işaret Nasıl, tek bir dizine gerekli tüm bağımlılıkları kavanoz kopyalamak ve sonra flatDir depo kullanabilirsiniz.

repositories { 
    flatDir { 
     dirs 'D:/path/to/local/directory' 
    } 
} 


dependencies { 
    compile name: 'name-of-jar' 
} 

flatDir depo kullanmadan başka yoludur:

dependencies { 
    compile files('/path/to/dir/something_local.jar') 
} 
+2

Bir flatDir deposuyla, geçiş bağımlılığı çözümlemesi olmadığını unutmayın. Orijinal problemi araştırmak ve düzeltmek daha iyi olurdu. –

+0

Yerel depo için gradle.build (yani yerel dizini kullanarak) yapı bağımlılıkları ile ilgili sorum var bağımlılıklar { \t derleme fileTree (include: ['* .jar'], dir: 'libs') } Yalnızca libs dizinindeki bağımlılıkları çözer mi yoksa lib dizininin tüm alt klasörlerinde bağımlılıkları çözer. Alt klasörlerin/alt dizinlerin bağımlılıklarını çözmezse, bağımlılıkları nasıl çözebilirsiniz? not: Projemiz kavanozların dosyalarına bağlıdır (her kavanoz/lib için tam dosya adı vermek yerine), bu yüzden herhangi bir alternatif yolu bilmek ister. – mallikgm

+0

@mallikgm Daha açık bir bağlam sağlamak için yeni bir soru sormanız gerektiğini düşünüyorum. Ben fileTree alt dir ile çalışmalıdır tahmin ediyorum. Ama ben denemedim – dieend

3

yerine flatDir depoyu yapılandırarak, aşağıdaki gibi bir yerel maven depo ilan edebilir:

repositories { 
    maven { 
     url 'file://D:/path/to/local/directory' 
    } 
} 

@Peter Niederwieser olarak, flatDir deposunda belirtilmemiş port geçişli bağımlılık çözümü. maven Yerel depo yapar.

+1

Bu, farklı bir şekilde çalışmayacaktır. ortamları (özellikle CI sunucusunda) ve prensibi kırar "yapı süreci her yerde aynı olmalıdır" – user3118604

+1

Doğru. Ancak OP, ** yerel dizin ** çözümünü aradığını açıkça belirtti ve bu nedenle yorumunuz bu bağlamda alakasız. –

İlgili konular