4

问题:我们的 3 级 POM 树中有数十个 Maven 子项目(由 m2eclipse 管理),人们每两周不断添加和删除其中的一些。由于并非所有新添加的项目在丢失时都会导致编译时错误,因此问题更加复杂。最终可能不会被放入 OSGi 容器中,因为人们忘记正确导入它们并且 Eclipse 出于某种原因不自动知道它们的存在。

目前,人们必须查看一些邮件列表,每当发生此类事件时,他们必须前往并手动调用根 POM 的导入向导并添加缺少的项目或手动删除一些不需要的项目。移动/重命名是删除/添加的组合。

这一切都非常容易出错,我们希望以某种方式自动化/简化流程。

理想情况下,我们希望有以下工作流程:1) 同步 2) 触发 Eclipse 3) 触发一些挂钩,它将根据最新的 POM 树分析开发人员的工作区(根 POM 是固定的并且已知) 4)应该有一些按钮某处可能是: - 绿色,如果一切正常 - 红色,如果没有点击它应该自动删除不需要的项目(并更新 Eclipse 内部)并添加新项目(某种在静默模式下调用导入向导) .

现有的功能可以吗?还是我们必须以某种方式扩展 m2e?还有什么解决办法???

任何帮助将不胜感激!

附言

我们知道,我们遇到的这类问题可能是由于项目结构设计不当造成的。但是,在紧张的发布周期中运行时要修复它并不容易。所以,我们需要一个临时解决方案。

4

1 回答 1

1

这让我觉得你正在解决一个错误的问题。我怀疑这样的东西是否会在 m2e 中得到开箱即用的支持——除非有一天将每种类型放在它自己的模块中成为最佳实践。一段时间后,项目模块应该稳定,并反映可以更改但不经常更改的架构(仅限主要版本)。如果它变化太频繁,那么设计决策就没有足够的考虑。考虑将项目拆分为多个子项目,其中一个可以签出/克隆并独立工作。

同步更改时,只需检查是否添加/删除了模块 - 如果是这样,同步后只需逻辑删除然后导入现有的 Maven 项目。

于 2012-02-07T21:28:34.820 回答