允许程序员团队在同一个项目中使用Netbeans,Eclipse和IntelliJ的最佳方法是什么,从而消除了"哪个IDE更好"的问题.
应该或不应该将哪些文件检入源代码控制?
我认为最好的方法是使构建过程独立于IDE.这意味着您的项目不应该依赖任何特定于IDE的文件来构建,而是使用外部构建系统,如Apache Maven,Apache Ant,甚至是make或自定义脚本.大多数流行的Java IDE都支持Maven,无论是直接还是通过插件.
如果您不想使用外部构建系统,至少应该使项目易于设置(即通过为共享库和其他依赖项提供标准文件夹).当我在过去使用多个IDE的团队工作时,我花了最多的时间来解决依赖关系,因为构建项目的先决条件随着时间的推移而变化.在最糟糕的情况下,您甚至可能最终没有从版本控制存储库中获取最新版本的开发人员,因为他们认为设置新项目是一件麻烦事.
如果您的项目有很多库依赖项,我认为最好在版本控制存储库中以二进制形式提供这些库.这样人们就不必解决依赖关系的所有依赖关系等等,只是为了构建一个项目.但是,这确实要求您有人负责保持"官方"二进制文件在更改时保持最新状态.(这与Maven存储库使用的理念基本相同,但即使不使用Maven,也可以手动应用这些原则.)
嗯,这是一个非常自我回答的问题.
不检查源代码控制的文件是与IDE本身有关的文件.
将它留给开发人员来生成这些文件.
如果你使用Maven,它可以生成文件,如Eclipse的.project
和.classpath
为您服务.Eclipse通常很容易使用基本文件结构(使用新Java Project
选项).
我认为Maven也有Netbeans支持,但不确定IntelliJ.
Maven的网站是maven.apache.org.
对于具有多个开发人员的每个IDE,请签入所有支持文件.为什么要在每个办公桌上重新发明轮子.
我用许多不同的IDE完成了这个,我还没有看到文件名冲突.
实际上,即使只有一个开发人员使用特定的IDE,也可以通过对开发环境中的其他文件进行版本化来支持文件的相同原因:历史,差异,注释等.