gpt4 book ai didi

java - 如何将 Maven 生成的源置于版本控制之下?

转载 作者:行者123 更新时间:2023-11-29 08:07:34 25 4
gpt4 key购买 nike

我正在使用 Maven 构建和部署 jOOQ .我现在想开始使用适当的 Maven 插件生成 XJC 生成的类(之前,我使用 ant 脚本)。这对我来说非常有效,但我担心一些想要在没有 Maven 的情况下自己构建 jOOQ 的用户现在在生成那些缺失的源代码时会遇到麻烦。所以我想将这些源代码从 target/generated-sources/xjc 移到 src/main/java 中,以便能够将它们置于版本之下控制。

  • 这是一种常见的做法吗?
  • 我该怎么做(我应该使用插件在低级别移动文件,还是应该直接将文件生成到 src/main/java 中)?
  • 我还有其他选择吗?

请注意,底层 XSD 几乎没有变化,所以我没有每次构建时都生成这些源...

最佳答案

这是一个糟糕的想法,你永远不应该将生成的源放在版本控制中,因为无论它们是从哪里生成的,都可能发生变化,然后你的代码就会不同步。

即使 XSD 永远不会改变,请注意我说的是永远不会,而不是几乎没有,正如您所说,这是不同的,我不会将源代码置于版本控制之下。如果 XSD 没有改变,Maven 可以被告知不要每次都生成源代码。

如果您走 Maven 路线,那么构建您的东西的任何人都应该使用相同的工具链。这不是 Maven 特有的。如果这是 Ant 或带有 make 文件的 C++ 项目,您也不会想这样做。

如果您真的想提供一个 Maven 免费的独立发行版,那么让 Maven 生成它,有很多插件可以将所有 Artifact 导出为您可以分发的存档。但是不要为了一些可能不存在的模糊外部需求而妥协您的构建。

关于java - 如何将 Maven 生成的源置于版本控制之下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130193/

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