我正在尝试将java项目的依赖项复制到lib
文件夹,然后从复制到Class-Path
文件夹的jar列表中生成manifest.mf
中lib
属性的值
这是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
。