2014-09-22 40 views
6

由於某些原因,我的離岸團隊無法從我的客戶Artifactory下載我們的組織依賴庫的工件(依賴關係)。「刷新依賴關係」不觸發任何操作,並給出TIME OUT EXCEPTION 。我看到我的「Gradle Dependencies」被下載到位置「D:/C813507/Gradle/gradle-1.11/bin/caches/modules-2/files-2.1/」。我可以壓縮這個文件夾併發送給他們嗎?他們如何在gradle中實現指向他們本地目錄的東西。我的構建gradle具有以下行。如何指向Windows操作系統如何使Gradle存儲庫指向本地目錄

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

} 
+0

爲什麼不給你的組織artifactory訪問離岸團隊? – dieend 2014-09-22 03:24:55

回答

15

網址本地目錄如果你不能給你的離岸團隊訪問,您可以複製需要一個單一的目錄中所有的依賴罐子,然後用flatDir庫。

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


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

不使用flatDir庫的另一種方法是:

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

請注意,使用flatDir存儲庫時,不存在傳遞依賴關係解決方案。調查並修復原始問題會更好。 – 2014-09-22 08:26:35

+0

我有關於在本地存儲庫gradle.build(即使用本地目錄) 依賴項編譯文件樹(包括:['* .jar'],dir:'libs') } 它是僅解決libs目錄中的依賴項,還是解決了lib目錄下所有子文件夾的依賴性。 如果它不解決子文件夾/子目錄的依賴性,如何解決依賴關係? 注意:我們的項目依賴於很多jar文件(而不是爲每個jar/libs提供完整的文件名),所以想知道任何替代方法。 – mallikgm 2016-06-27 16:39:58

+0

@mallikgm我認爲你應該在一個新的問題中提出來給出更清楚的背景。我猜fileTree應該與子目錄一起工作。但我沒有嘗試過 – dieend 2016-06-28 07:29:56

3

相反的配置flatDir庫,你可以聲明本地maven庫如下:

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

由於@Peter Niederwieser提到,flatDir存儲庫不支持端口傳遞依賴關係解決方案。 maven本地存儲庫。

+1

這不會在不同的工作環境(特別是在CI服務器上),並且違反了「構建過程應該在任何地方都一樣」的原則 – user3118604 2017-11-07 09:21:43

+1

正確。但是,OP明確表示他正在尋找**本地目錄**解決方案,因此您的評論在此背景下無關緊要。 – 2017-11-07 09:30:37

相關問題