Gradle sync任务不一致

时间:2015-08-24 03:16:03

标签: java gradle

我正在尝试将java项目的依赖项复制到lib文件夹,然后从复制到Class-Path文件夹的jar列表中生成manifest.mflib属性的值

这是build.gradle档案 -

apply plugin: 'java'
apply plugin: 'eclipse'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

libsDirName = 'package'

ext {
    libDir = file('build/dependencies/lib')
}

task syncDependencies(type: Sync) {
    from  configurations.runtime
    into  libDir
}

jar {
    manifest {
        attributes(
            "Class-Path": libDir.listFiles().collect { 'lib/' + it.getName() }.join(' ')
        )
    }
}

jar.dependsOn syncDependencies

dependencies {
    //external compile dependencies
    compile 'org.eclipse.persistence:javax.persistence:2.1.0'
}

执行gradle clean jar时,它会将依赖项复制到lib文件夹,但Class-Path属性的值为空。如果我再次执行gradle clean jar,它会为Class-Path属性生成正确的值。

但是,如果我执行gradle clean后跟gradle clean jar,则Class-Path的值再次为空。

我正在使用Gradle 2.6

0 个答案:

没有答案