Gradle Jar - 包含依赖关系'类

时间:2015-09-05 11:53:55

标签: java gradle jar dependencies bundle

我正在处理服务器应用程序并使用gradle。如果我运行" bundle",gradle会创建一个jar文件,其中包含我项目的所有已编译的java类。但是,显然,由于缺少依赖性,您无法运行此jar。

我目前正在执行这些任务:

task bundleJar(type: Jar) {
    manifest {
        attributes 'Main-Class': 'your.own.start.main.class'
    }
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

但这包括" ALL"依赖类。 可以只集成我的应用程序所需的类吗?他们有任何反思问题吗?

我想到的另一件事。有些图书馆不允许在另一个应用程序中发送它们。所以我只向我的用户提供源代码。他们下载并执行gradle任务。 这应该没关系,不应该吗? 在一个jar中包含所有内容是否更好,还是可以为所需的类创建一个单独的文件夹?

THX:)

1 个答案:

答案 0 :(得分:0)

在您的示例中,您执行configurations.compile.collect,因此您将从编译范围中压缩所有内容。您可以使用从运行时范围(configurations.runtime.collect)声明的类来更改它。确定这意味着在进行构建时已经下载了这些类。