【问题标题】:Gradle Jar - Include dependencies' classesGradle Jar - 包含依赖项的类
【发布时间】:2015-09-08 13:55:10
【问题描述】:

我正在开发一个服务器应用程序并为此使用 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
}

但这包括“所有”依赖类。 可以只集成我的应用程序需要的类吗?他们的反射有什么问题吗?

我想到的另一件事。一些库不允许将它们发送到另一个应用程序中。所以我只向我的用户提供源代码。他们下载它并执行 gradle 任务。 应该没问题吧? 将所有东西都打包在一个 jar 中更好,还是可以为所需的类创建一个单独的文件夹?

谢谢:)

【问题讨论】:

    标签: java gradle jar dependencies bundle


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-12
      • 2015-03-12
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多