Eclipse M2E 改变 org.eclipse.wst.common.component

HDa*_*ave 6 java eclipse maven m2e

我在 Eclipse 中有一个多模块 Maven Java (WAR) 项目。这取决于一堆其他 Java 项目。我们将 .settings 目录检查到源代码管理中,因为那里有许多手动建立的设置。

.settings 中的文件之一org.eclipse.wst.common.component也具有手动建立的设置。但是,Eclipse 会根据开发人员在 Eclipse 中打开的底层 JAR 项目不断修改该文件。我相信这样做是为了帮助完成这些工件的“工作区解析”。

然而,这种情况的结果是 Eclipse 不断地修改它org.eclipse.wst.common.component,开发人员不断地将它提交给源代码控制并相互争夺它。将这些文件排除在源代码控制之外是行不通的,因为其中有太多针对每个项目的手动调整。

我猜测 Eclipse 中有一个将项目设置和用户设置组合在一起的文件的设计缺陷!如果有人对如何更好地处理这个问题有任何见解,那就太好了。事实上,Eclipse-M2E 根本不适用于复杂项目的团队开发,除非每个开发人员都加载了完全相同的 Java 项目......

Kar*_*rlP 1

我同意该特定文件是有问题的......如果它被损坏,工作区可能会崩溃,如果它丢失 - 什么都不会工作。但它不包含重新导入项目时无法从头生成的任何内容......

我认为最好的解决方案是使用“完整”工作区签入文件,然后确保忽略未来的更改。

如果您需要进行“真正的”更改,请加载完整的工作区,执行您需要执行的任何操作,然后取消忽略该文件,签入,然后再次忽略它。

前任:

git update-index --assume-unchanged the-file
git update-index --no-assume-unchanged the-file
Run Code Online (Sandbox Code Playgroud)

运气好的话,m2e 会弄乱 jar/项目引用,以便它与加载的项目相匹配。如果它没有自动执行此操作,请更新项目定义。