簡體   English   中英

Java Gradle:如何使用java-plugin jar任務包含外部jar?

[英]Java Gradle: How to include external jars using java-plugin jar task?

apply plugin: 'java'

archivesBaseName = 'foo-client'
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
//version = '1.0'
dependencies{
    compile 'foo:bar:1.0-SNAPSHOT', 
            'foo:bar-common:1.0-SNAPSHOT', 
            'foo:bar-communication-api:1.0-SNAPSHOT'
}
repositories{ 
    flatDir{
        dirs '/lib'
    }
}

執行繼承的jar任務時,這將在項目的build/lib目錄中創建foo-client.jar 我需要做的是在同一個目錄中放入幾個jar,否則該項目將無法正常運行。

我怎樣才能做到這一點?

您可以將外部jar定義為運行時依賴項,然后使用復制任務將其復制到build / lib,例如:

task copyLibs(type: Copy) {
    from configurations.runtime
    into "$buildDir/libs"
}

使用Gradle 1.1可以達到以下目的:

apply plugin: 'java'

archivesBaseName = 'foo-client'
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

task copyToLib(type: Copy){
    into 'bar\\lib'
    from configurations.runtime
    from configurations.default.allArtifacts.getFiles()
}

dependencies{
    compile 'foo:bar-agent-dist:2.0.0-SNAPSHOT', 
            'foo:bar-common:2.0.0-SNAPSHOT', 
            'foo:bar-communication-api:2.0.0-SNAPSHOT'
}


repositories{ 
    flatDir{
        dirs '/lib'
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM