从单个源文件夹中分离多个 jar
至于现在,我们有一个项目结构,其中包含一个名为 的源文件夹,其中包含三个模块的源代码。我想做的是:src
1)编译源代码。这很容易通过sourceSets定义来完成:
sourceSets {
main {
java {
srcDir 'src'
}
}
}
2)将编译结果放入三个罐子中。我通过三个“jar”类型任务来做到这一点:
我现在通过三个单独的任务来执行此操作:
-
util.jar
task utilJar(type: Jar) { from(sourceSets.main.output) { include "my/util/package/**" } }
-
客户端.jar
task clientJar(type: Jar) { from(sourceSets.main.output) { include "my/client/package/**" } }
-
服务器.jar
task serverJar(type: Jar) { from(sourceSets.main.output) { include "**" } excludes.addAll(utilJar.includes) excludes.addAll(clientJar.includes) }
问题是,它应该包含 和 中未包含的所有类。在 ant 构建脚本中,我们使用 ant 任务来解决这个问题。如何在gradle中完成此操作(我目前的方法不起作用)?server.jar
client.jar
util.jar
difference
也许我的方法完全错误。请指教。
PS:目前我们无法更改项目源代码文件夹结构。