除了src/main/java文件夹,我们还有一个文件夹,其中包含一些主要源所需的生成的Java源。必要时 手动 调用代码生成。生成的源被 检 入到源仓库中。一切将被构建并打包 在一起 。
src/main/java
将与主要源一起编译的生成的Java 源 的最佳位置是什么?应该是:
/src/generated/java
src/testInt/java
/generated-src/main/java
/src/main/generated-java
generated-java
对于这种情况,第一种选择似乎是最合适的选择。你怎么看?Maven文档中有什么描述这种情况的(我忽略了)?您知道结构类似的回购吗?
谢谢。
正如@ Absurd- Mind所建议的那样,我们正在考虑的方向是将源拆分为子模块(在gradle中效果很好)。因此,生成的源和其他一些相关的源将进入其自己的子模块(它们将产生单独的工件),其余的将进入使用该子模块的其他子模块。谢谢。
我认为位置取决于源的生成和处理方式。
源代码在构建过程中自动生成 :然后,我将使用target/main/java/,target/test/java/依此类推。此代码未签入CVS,因为您可以相当轻松地对其进行重建。如果您清理项目,则target目录将被删除,源将被重建。
target/main/java/
target/test/java/
target
源代码是由一个外部工具或类似手动生成 :我会使用generated/src/main/java/,generated/src/test/java/,generated/src/main/resources/等。应当检入此代码。一个好处是,一旦您看到顶级目录名称,generated就会知道下面的所有文件/目录也会生成。另外,您在顶层目录下具有标准的maven目录结构。另一点是清理很容易,只需删除generated并重新创建它,而无需浏览许多其他目录(如您的示例:src/main/generated-java和src / test / generated-java)。
generated/src/main/java/
generated/src/test/java/
generated/src/main/resources/
generated
src/main/generated-java
编辑 :另一个不错的解决方案是创建一个仅包含生成的源代码的Maven项目myproject- generated-1.0.3.jar。该项目将是您实际应用程序中的依赖项。然后,您只需将生成的源int放入即可src/main/java。
myproject- generated-1.0.3.jar