一、eclipse離線安裝gradle插件
把gradleclipse.zip的features、plugins拷貝到dropins下,包下載
鏈接: https://pan.baidu.com/s/1eKb1rTVJyfby_6xaG8vs2g 提取碼: 3ypr 複製這段內容後打開百度網盤手機App,操作更方便哦
二、內網項目用eclipse不能gradle build項目的問題
在內網上,eclipse初次build gradle項目會報錯,services.gradle.org......,因爲要先下載一些插件,可以先在有網的電腦上用gradle創建項目,創建完成後(1)拷貝項目空間下的.metadata到內網機上的eclipse的工作空間(2)拷貝gradle.user.home目錄(windows下爲:當前用戶名/.gradle)到另一臺機器的當前的gradle.user.home下。即可創建gradle項目
三、外網gradle項目拷貝到內網,依賴的jar包問題
場景:機器A外網可以正常構建項目,機器B內網要測試機器A源碼。即使把機器A的gradle緩存目錄拷貝到機器B的gradle.user.home ,然後在機器B上build項目,發現並不會 使用gradle緩存中的jar。
(方法1)
gradle緩存中的jar,拷貝到maven本地資源庫中
先把機器A中的gradle.user.home目錄拷貝到機器B的gradle.user.home
然後可以使用如下命令,把gradle緩存中的jar,拷貝到maven目錄中
在build.gradle中寫入以下腳本
task cacheToLocalMavenRepository(type: Copy) {
from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1')
into repositories.mavenLocal().url
eachFile {
List<String> parts = it.path.split('/')
it.path = (parts[0]+ '/' + parts[1]).replace('.','/') + '/' + parts[2] + '/' + parts[4]
}
includeEmptyDirs false
}
然後build.gradle同級目錄下執行
gradle cacheToLocalMavenRepository
然後在build.gradle中使用如下引入本地maven依賴,會級聯尋找依賴。
repositories {
mavenLocal()
}
推薦使用上述方法,不用再自己管理依賴
具體可參見:https://blog.csdn.net/feinifi/article/details/81458639或者本人https://blog.csdn.net/u013378306/article/details/100014422
(方法2)
如果還有問題,可以在機器A上build好gradle項目,找到build好的項目jar包,解壓jar包,找到lib下的所有jar,拷貝到新的電腦上某個目錄,使用本地文件目錄的像是加載,如(要注意目錄路徑、文件路徑問題)
repositories {
flatDir {
dirs '../local_run_lib'
}
}
,然後再寫
dependencies {compile (group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.4.1.RELEASE')}
注意flatdir 不會自動尋找關係依賴,意識是你寫一個依賴包就只能引入這一個依賴包,而不會引入此依賴包所依賴的依賴包,如 compile (group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.4.1.RELEASE')並不會再去尋找此jar的依賴包。而(方法一)可以。
(方法3)
如果還有問題可以在build.gradle中直接寫如下腳本,導入目錄下所有jar
dependencies {
ext.rootProjectLibs = new File(rootProject.rootDir,'local_run_lib').getAbsolutePath()
ext.jarTree =fileTree(dir: rootProjectLibs,include: '**/*.jar')
compile jarTree
}
此種方式會引入一些不必要的包,也會包衝突,不推薦