签入或不签入整个 Eclipse 项目?

2022-09-01 03:13:21

我很快就会签入一个新的Java项目的第一个提交。我使用Eclipse Ganymede,一堆插件使事情变得容易一些。

以前,我曾参与过签入整个 Eclipse 项目的项目。签出后获取项目设置非常方便。然而,这种方法仍然不是没有问题的:

  • 我强烈怀疑一些Eclipse配置文件会在没有用户交互的情况下(从我使用Eclipse Europa时开始)而改变,当需要执行提交时,它们会显示为已更改(因为它们被更改了,但不是交互式的)。
  • 每个开发计算机都有唯一的设置,以及项目上所有开发人员的全局设置。将它们分开是很困难的。
  • 有时,如果Eclipse版本与其他版本不同,Eclipse会生气并搞砸项目配置。另一种情况是,它更改了格式以便更新,如果提交,则会弄乱其他人的配置。

对于这个特定的项目,我还有另一个理由不提交项目文件:

  • 可能有一些开发人员更喜欢 NetBeans,他们稍后会加入该项目。但是,他们不会在未来几个月内加入。

你如何组织这个?您在版本控制中检查了什么,在外部保留了什么?在这种情况下,您认为最佳实践是什么?


答案 1

至少应签入 和 文件。如果你的团队中有人在对外部JAR位置进行硬编码,你应该把它们贴在墙上并射击它们。我使用 Maven 来管理我的依赖项,但如果您不使用 maven,则应使用一致的命名约定为外部 JAR 创建用户库。.project.classpath.classpath

之后,您需要逐个插件地考虑问题。例如,我与Spring合作,所以我总是签入CheckStyle,同样,对于CheckStyle,我总是签入项目。.springBeans.checkstyle

当涉及到文件夹中的配置时,它会变得更加棘手,但是如果我更改项目的默认设置并希望它们与团队的其他成员共享,我通常会签入以下内容:.settings

  • .settings/org.eclipse.jdt.ui.prefs - 它包含导入排序的设置
  • .settings/org.eclipse.jdt.core.prefs - 它包含编译器版本的设置

一般来说,我没有注意到Ganymede在没有修改项目首选项的情况下修改文件。


答案 2

我建议使用maven,以便整个生命周期都位于任何IDE之外。你可以在命令行上用它轻松创建一个 eclipse 项目,如果它不是 eclipse,你可以使用任何你想要的东西。它有它的怪癖,但在依赖关系和构建管理方面有很多苦涩。


推荐