当项目团队使用 INTelliJ 或 Eclipse 时,我应该检查哪些设置文件

Which settings files should I check in when the project team is using either of INtelliJ or Eclipse

全部!

在我们的项目团队中,人们根据自己的习惯使用 IntelliJ 或 Eclipse IDE。 IDE 中的每个都有自己的设置文件。例如,IntelliJ 使用 .idea 和 .iml,而 Eclipse 使用 .project、.settings、.classpath!虽然其他一些堆栈溢出线程说如果您使用的是 Maven,则不需要从 IDE 中检查任何这些文件,但我不确定为什么会这样。 None 的线程说为什么使用 Maven 不能保证(某些)设置、.project、.classpath 被签入?

谁能帮我理解两件事

1) 为什么我们在使用 Maven 时不需要签入这些文件?

2) 如果我们必须签入(假设未使用 Maven),我们如何确保从源代码管理签出时 IDEs 工作正常,以及签入什么以确保交叉兼容性。

谢谢!

1) 不需要这些文件,因为 IDE 可以使用 pom.xml 文件导入 Maven 项目。因此,pom.xml 文件是两个 IDE 项目描述的唯一来源。

https://projects.eclipse.org/projects/technology.m2e

https://www.jetbrains.com/help/idea/maven-support.html#maven_import_project_start

2)你没看错,如果只使用IDE的原生工程文件,很难保证交叉兼容。这就是为什么鼓励将构建链(Maven、Gradle 等)与 IDE 分开的原因。此外,如果使用统一的构建工具,可以更轻松地配置持续集成系统,因此使用一个工具并使其独立于 IDE.

是一种最佳实践。

如果您现在不想切换到 maven,请检查 Eclipse .project 和 .classpath 文件,Intellij 能够理解它们。