使用Gradle构建的Fat jar不包含库

时间:2017-10-16 01:17:15

标签: java gradle

我正在尝试构建一个包含'libraries'文件夹中包含的所有.jar库的胖jar。

以下是我的build.gradle文件的快照:

group 'MyApp'
version '2.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'

    compile files('libraries/ojdbc7.jar')
    compile files('libraries/postgresql-42.1.4.jar')
    compile files('libraries/db2jcc.jar')
}

tasks.withType(Jar) {
    destinationDir = file("$rootDir/target")
}

jar {
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    manifest {
        attributes 'Main-Class': 'MainLauncher'
    }
    processResources{
        exclude '*'
    }
    archiveName 'myapp.jar'
}

所有.jar库都包含在位于项目根目录的“libraries”文件夹中。

出于某种原因,我的代码在IDE中工作正常,但在作为独立的.jar文件运行时无法执行某些任务。

当我解压缩jar时,我可以看到根文件夹中的所有内容,包括找不到的库。

我有什么问题吗?

0 个答案:

没有答案