gpt4 book ai didi

java - maven 目录结构的生成源文件的位置

转载 作者:IT老高 更新时间:2023-10-28 21:01:14 24 4
gpt4 key购买 nike

除了 src/main/java 文件夹之外,我们还有一个文件夹,其中包含一些生成的 java 源代码,这些源代码是主要源代码所必需的。需要时手动调用代码生成。生成的源代码被 checkin 到源代码库中。一切都将一起构建和打包

生成的 java sources 将与主要源代码一起编译的最佳位置是什么?应该是:

  • /src/generated/java(遵循与 src/testInt/java 相同的命名逻辑进行集成测试)
  • /generated-src/main/java(与冲突“src 目录包含构建项目的所有源 Material ”)
  • /src/main/generated-java (嗯... generated-java 不是类型)
  • ...?

第一个选项似乎最适合这种情况。你怎么看? Maven 文档中是否有任何描述这种情况的内容(我忽略了)?你知道有类似结构的 repo 吗?

谢谢。

回答

正如@Absurd-Mind 所建议的,我们正在考虑的方向是将源代码拆分为子模块(这在 gradle 中效果很好)。因此,生成的源和其他一些相关的源将进入它自己的子模块(它们将产生单独的 Artifact ),其余的将进入使用这个的其他子模块。谢谢。

最佳答案

我认为位置取决于源的生成和处理方式。

  1. 源代码在构建过程中自动生成:然后我会使用 target/main/java/, target/test/java/ 等等。这段代码没有 checkin CVS,因为你可以很容易地重建它。如果您清理项目,target 目录将被删除,源代码将被重建。

  2. 源代码由外部工具或类似工具手动生成:我会使用 generated/src/main/java/, generated/src/test/java/, generated/src/main/resources/ 等等。应该 checkin 此代码。好处是,一旦您看到顶级目录名称是generated,您就会知道下面的所有文件/目录也都已生成。您还拥有顶级目录下的标准 Maven 目录结构。另一点是清理很容易,只需删除 generated 并重新创建它,无需查看许多其他目录(如您的示例中: src/main/generated-java和 src/test/generated-java)。

编辑:另一个不错的解决方案是创建一个仅包含生成源的 maven 项目,例如 myproject-generated-1.0.3.jar。该项目将成为您实际应用程序中的依赖项。然后,您只需将生成的源代码放入 src/main/java.

关于java - maven 目录结构的生成源文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22912900/

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