我需要帮助,包括已经存在的项目中的Gradle。
我的主要问题是项目结构不是“默认”Gradle结构。我的Idea项目中还有三个项目,这使得它更加困难。
我的项目:
这是我的文件夹结构:
所以我为我的课程获得了很好的URL样式包。 (即:com.elmac.client.Main)
我的具体问题
我必须在哪里放置哪些gradle文件,以及我要在文件中写什么,以便创建两个.JAR文件(客户端和服务器依赖于共享 - > Shared不需要jar文件)。
我对几十个教程感到困惑,每个教程都包含与我的不相似的类似结构。我还没弄明白如何包含我的项目(我甚至不知道在这个项目结构中放置哪个文件!)
答案 0 :(得分:1)
我不理解你的理由“所以我为我的课程获得了很好的URL样式包。”即使您将它们拆分为子项目并使用更标准的目录结构,您也会得到它。然后,您可以让客户端和服务器子项目依赖于共享子项目(作为jar或直接与项目依赖项一样)。
但是,要回答您的问题,您可以从build.gradle中定义不同的源集开始:
sourceSets {
client {
java {
srcDirs = ["$projectDir/src"]
include '**/client/**'
}
...
}
然后将这些编译到build dir中的单独目录中。然后你可以从这些源集构建你的jar:
task clientJar(type: Jar) {
from sourceSets.client.output
}
你可能会遇到IntelliJ的问题,因为它只有一个输出目录用于main,一个用于每个模块中的测试,所以你不能使用IntelliJ compile&再运行(例如,当运行单个单元测试时),您将不得不使用gradle任务运行所有内容。