Gradle Jar - 包含依赖项的类

3
我正在开发一个服务器应用程序,使用gradle进行构建。如果我运行“bundle”命令,gradle将创建一个包含我的项目中所有已编译Java类的jar文件。但是,显然,由于缺少依赖项,您无法运行此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文件中更好,还是可以为需要的类创建单独的文件夹? 谢谢 :)
1个回答

0
在你的例子中,你使用了configurations.compile.collect,所以你将会压缩编译范围内的所有内容。你可以改变这个范围,使用从运行时范围声明的类(configurations.runtime.collect)。当然,这意味着在构建时这些类已经被下载了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接