我想生成第二个人工制品的情况就是这样。我们在测试代码中有构建器类,我想在另一个项目中重用它们。我发现this guide-attached-tests并且效果很好。在与我的同事讨论后,我阅读了 Tim O'Brien 的这篇文章如何从一个项目创建两个 JAR(……以及为什么不应该这样做)。他写道,这样做违反了 Maven 的核心约定。
“它违反了 Maven 最重要的核心概念之一:模块化。一旦你沿着这条路走下去,你很可能会开始创建越来越多的“超级”项目,这些项目会创建多个 JAR。”
我没有看到测试罐的风险。
“不推荐这样做”或“它违反了核心约定,但它有效”的唯一声明并不能让我满意。至少 maven 提供了分类器,这些分类器正是为了从同一个 pom 中产生不同的工件。
我的问题:创建测试罐是惯例的例外,还是这种方法存在更严重的问题?
除了。使构建器类成为生产代码的一部分是我们正在讨论的另一种选择。但这不是这里的重点。