当前位置: 首页 > 面试题库 >

用于Maven目录结构的生成源文件的位置

乐正秦斩
2023-03-14
问题内容

除了src/main/java文件夹,我们还有一个文件夹,其中包含一些主要源所需的生成的Java源。必要时 手动 调用代码生成。生成的源被
入到源仓库中。一切将被构建并打包 在一起

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

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

对于这种情况,第一种选择似乎是最合适的选择。你怎么看?Maven文档中有什么描述这种情况的(我忽略了)?您知道结构类似的回购吗?

谢谢。

回答

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


问题答案:

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

  1. 源代码在构建过程中自动生成 :然后,我将使用target/main/java/target/test/java/依此类推。此代码未签入CVS,因为您可以相当轻松地对其进行重建。如果您清理项目,则target目录将被删除,源将被重建。

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

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



 类似资料:
  • ThinkPHP5.1 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等。 快速生成模块 生成一个test模块的指令如下: >php think build --module test 表示自动生成test模块,自动生成的模块目录包含了config、controller、model和view目录以及common.php公共文件。 批量生成模块 如果需要批量生成多个模块的目录和文件,需

  • 我写了一个pom.xml来编译目录"D:\Windchill_Market\ERP Connector\SourceCode\Build\src1\src\main\java\com\sample"中的java文件。 现在,我必须 jar 目录中的所有文件“D:\Windchill_Market\ERP 连接器\源代码\Build\src1”。 在我的pom.xml中: 我可以生成类文件。但我无法

  • 问题内容: 当我尝试使用生成Eclipse项目文件时,出现以下错误: 插件管理器中执行目标’org.apache.maven.plugins:maven-eclipse- plugin:2.9-SNAPSHOT:eclipse’的内部错误:无法加载mojo’org.apache.maven.plugins:maven- eclipse-plugin:插件``org .apache.maven.pl

  • Electron 的源代码主要依据 Chromium 的拆分约定被拆成了许多部分。 为了更好地理解源代码,您可能需要了解一下 Chromium 的多进程架构。 源代码的结构 Electron ├──atom - Electron 的源代码 | ├── app - 系统入口代码 | ├── browser - 包含了主窗口、UI 和其他所有与主进程有关的东西,它会告诉渲染进程如何管理页面 |

  • Electron 的源代码主要依据 Chromium 的拆分约定被拆成了许多部分。 为了更好地理解源代码,您可能需要了解一下 Chromium 的多进程架构。 Source Code Directory Structure The source code of Electron is separated into a few parts, mostly following Chromium on

  • Electron 的源代码主要依据 Chromium 的拆分约定被拆成了许多部分。 为了更好地理解源代码,您可能需要了解一下 Chromium 的多进程架构。 源代码的目录结构 Electron ├── build/ - Build configuration files needed to build with GN. ├── buildflags/ - Determines the set o