gpt4 book ai didi

java - Maven 中大量继承的单一插件配置文件是个好主意吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:30:37 27 4
gpt4 key购买 nike

在我们的基础架构中,我们有许多由 Maven2 构建的小型 Java 项目。每个项目都有自己的 pom.xml,最终继承 self 们公司的“主”父 pom。

我们最近开始向我们的父 pom 添加小型配置文件,默认情况下禁用,启用后,以常规方式执行单个插件。

例子:

  • sources”配置文件执行 maven-source-plugin 以创建项目源的 jar。
  • clover”配置文件执行 maven-clover2-plugin 以生成 Clover 报告。它还嵌入了我们的 Clover 许可文件,因此无需在子项目中重新指定。
  • fitnesse”配置文件执行 fitnesse-maven-plugin 以运行与项目相关的健身测试。包含fitnesse server主机和端口等信息,无需重复。

这用于在我们的 CI 服务器中指定构建,例如:

mvn test -P clover
mvn deploy site-deploy -P fitnesse,sources

等等。

到目前为止,这似乎提供了一种方便的组合可选功能。

但是,继续使用这种方法是否存在任何危险或陷阱(明显的或其他的)?这种类型的功能是否可以更好地实现或以其他方式表达?

最佳答案

此解决方案的问题在于,您可能正在创建一个有点不特立独行的“挑选”模型。对于您所描述的个人资料,您介于两者之间;如果每个配置文件本身都能产生不错的结果,那么您可能没问题。当您开始需要特定的配置文件组合时,我认为您会遇到麻烦。

个别开发人员通常会遇到一致性问题,因为他们忘记了应该为给定场景使用哪组配置文件。你的里程可能会有所不同,但我们在这方面遇到了真正的问题。一半的开发人员会在很短的时间后忘记“正确”的组合,并最终定期浪费小时,因为他们在错误的时间运行错误的组合。

您将遇到的实际问题是 AFAIK 没有办法拥有一组激活一组子配置文件的“元”配置文件。如果有一种创建伞式配置文件的好方法,这将是一个非常好的功能。您的“fitnesse”和“sources”配置文件应该是私有(private)的,由一个或多个元配置文件激活。 (您可以在 settings.xml 中为每个开发人员激活默认设置)

关于java - Maven 中大量继承的单一插件配置文件是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/444426/

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