1
如何將模塊的所有依賴jar保存到目錄?我有一個在IntelliJ IDEA中運行的應用程序,但我想在另一臺計算機上運行它,所以我需要將所有JAR文件複製到那裏。將Gradle依賴關係保存到目錄
如何將模塊的所有依賴jar保存到目錄?我有一個在IntelliJ IDEA中運行的應用程序,但我想在另一臺計算機上運行它,所以我需要將所有JAR文件複製到那裏。將Gradle依賴關係保存到目錄
首先,請考慮使用Gradle(或Gradle Wrapper)來執行諸如在另一臺計算機上獲取/下載項目依賴關係等操作。當您運行
task copyDependencies(type: Copy) {
from configurations.runtime
into "lib"
}
:但是如果你需要複製依賴任何其他原因,你可以定義類似於任務
gradle copyDependencies
運行時依賴將被複制到一個文件夾lib/
。
的build.gradle
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.11'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.1'
compile group: 'com.h2database', name: 'h2', version: '1.4.196'
testCompile group: 'org.spockframework', name: 'spock-core', version: '1.1-groovy-2.4'
}
task copyDependencies(type: Copy) {
from configurations.runtime
into "lib"
}
命令:
gradle copyDependencies
而且lib/
目錄包含:
lib
├── groovy-all-2.3.11.jar
├── h2-1.4.196.jar
└── jackson-core-2.9.1.jar
正如我前面提到的,請考慮使用Gradle Wrapper,因此您不必擔心在另一臺計算機上是否安裝了Gradle分發版。如前所述你可以輕鬆地添加搖籃包裝,然後你可以通過使用包裝,而不是你的操作系統上安裝運行搖籃
./gradlew [task]
。在你的情況下運行
./gradlew build
將下載所有依賴關係並構建項目。它比手動複製依賴關係要好得多,Gradle是爲了我們而發明的。
首先,答案非常好。但我真的不明白爲什麼人們會繼續使用像$ {project.projectDir}/lib'這樣複雜的路徑。任何Gradle任務的默認功能都會解釋相對於項目目錄的路徑,所以'lib'就足夠了。 –
@ lu.koerfer你是對的,感謝您的輸入!示例已更新。 –
另外,爲什麼IT依賴'build'? – Opal