gpt4 book ai didi

java - IntelliJ 文件夹结构上的 Gradle

转载 作者:行者123 更新时间:2023-11-30 07:43:13 24 4
gpt4 key购买 nike

我需要帮助,将 Gradle 包含在现有项目中。

我的主要问题是项目结构不是“默认”Gradle 结构。我的创意项目中还有三个项目,这使得它变得更加困难。

我的项目:

  • 客户端
  • 服务器
  • 共享(如客户端和服务器之间的共享代码)

这是我的文件夹结构:

  • 我的申请
    • 源代码
      • com
        • 埃尔马克
          • 客户端
          • 服务器
          • 已分享

所以我为我的类(class)获得了很好的 URL 样式数据包。 (即:com.elmac.client.Main)

我的具体问题

为了创建两个 .JAR 文件,我必须在哪里放置哪些 gradle 文件,以及我必须在文件中写入什么内容(客户端和服务器依赖于共享 --> 共享不需要 jar 文件) .

我对几十个教程感到非常困惑,每个教程都包含与我的不相似的相似结构。而且我还没有弄清楚如何包含我的项目(我什至不知道在这个项目结构上放置哪个文件!)

最佳答案

我不明白你的推理“所以我为我的类(class)获得了很好的 URL 样式数据包。”即使您将它们拆分为子项目并使用更标准的目录结构,您也会得到这一点。然后,您可以让客户端和服务器子项目都依赖于共享子项目(作为 jar 或直接使用项目依赖项)。

但是要回答您的问题,您可以首先在 build.gradle 中定义不同的源集:

sourceSets {
client {
java {
srcDirs = ["$projectDir/src"]
include '**/client/**'
}
...
}

然后这些将被编译到构建目录中的单独目录中。然后您可以从这些源集构建您的 jar:

task clientJar(type: Jar) {
from sourceSets.client.output
}

您可能会遇到 IntelliJ 的问题,因为它在每个模块中只能有一个主输出目录和一个用于测试的输出目录,因此您不能再使用 IntelliJ 编译和运行(例如,当运行单个单元测试时),您将必须使用 gradle 任务运行所有内容。

关于java - IntelliJ 文件夹结构上的 Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com