如何处理不同的JavaIDE和svn?
如何确保将代码签出到Eclipse或NetBeans中并在那里使用它如何处理不同的JavaIDE和svn?,java,eclipse,svn,ide,collaboration,Java,Eclipse,Svn,Ide,Collaboration,如何确保将代码签出到Eclipse或NetBeans中并在那里使用它 编辑:如果您没有签入ide相关文件,那么每次签出项目时都必须重新配置buildpath、includes和所有这些内容。我不知道ant(特别是从eclipse创建/导出的ant构建文件)是否能与其他ide无缝地协同工作。最好不要提交任何与ide相关的文件(例如eclipse的.project),这样每个人都可以签出项目并按自己的意愿完成工作 话虽如此,我想大多数IDE都有自己的配置文件方案,因此您可以提交所有配置文件而不产生任
编辑:如果您没有签入ide相关文件,那么每次签出项目时都必须重新配置buildpath、includes和所有这些内容。我不知道ant(特别是从eclipse创建/导出的ant构建文件)是否能与其他ide无缝地协同工作。最好不要提交任何与ide相关的文件(例如eclipse的.project),这样每个人都可以签出项目并按自己的意愿完成工作
话虽如此,我想大多数IDE都有自己的配置文件方案,因此您可以提交所有配置文件而不产生任何冲突,但我觉得这很混乱。在很大程度上,我同意seldaek的观点,但我也倾向于说,您至少应该给出一个文件,说明依赖项是什么,要使用什么Java版本进行编译,等等,以及NetBeans/Eclipse开发人员可能需要在其IDE中编译的任何额外内容 我们目前只使用Eclipse,因此我们将所有Eclipse.classpath.project文件提交给svn,我认为这是更好的解决方案,因为这样每个人都可以复制错误和不容易复制的内容,而不必对IDE的细节吹毛求疵。聪明的答案是“通过这样做”-除非您没有使用多个IDE,否则您不知道您是否真正准备好使用多个IDE。诚实的。:) 我一直认为多个平台更麻烦,因为它们可能使用不同的编码标准(例如Windows可能默认为ISO-8859-1,Linux可能默认为UTF-8)——对于我来说,编码造成的问题比IDE多得多 还有一些建议:
- 您可能希望使用Maven(),让它生成特定于IDE的文件,而不要将它们提交给源代码管理
- 为了确保生成了正确的人工制品,您应该有一个专用的服务器来构建您的可交付成果(例如cruisecontrol),可以借助ant、maven或任何其他工具。这些可交付成果是在开发机器之外测试的。让人们意识到在他们自己的机器之外还有另一个世界的好方法
- 禁止在源代码管理中找到的任何IDE特定文件中包含任何机器特定路径。始终通过逻辑路径名引用外部库,最好包含它们的版本(如果不使用maven)
我还记录了如何设置最小构建环境 我使用maven,只签入pom和源代码。
签出项目后,我运行mvn eclipse:eclipse
我告诉svn忽略生成的.project,等等。实际上,我们现在在svn中为我们的代码维护了一个Netbeans和一个Eclipse项目,没有任何问题。Netbeans文件不会踩在Eclipse文件上。我们的项目结构如下:
sample-project
+ bin
+ launches
+ lib
+ logs
+ nbproject
+ src
+ java
.classpath
.project
build.xml
最大的问题似乎是:
- 禁止中的任何绝对路径 任一IDE的项目文件李>
- 设置项目文件以输出 将文件分类到同一目录
- svn:忽略隐私 .nb项目中的目录 目录
- svn:忽略用于 从IDE和任何其他运行时生成的目录(如上面的logs目录)的类文件输出
- 让人们始终如一地使用这两种方法 使分歧得到解决 快点
- 还要维护一个构建系统 独立于IDE,例如 巡航控制
- 使用UTF-8并纠正任何编码问题 马上
注意,如果您正在使用Ivy(一个好主意)和eclipse,您可能会尝试使用EclipseIvy插件。我用过它,发现它是可怕的错误和不可靠的。最好使用2。上图。到目前为止,我们在这里也是这样做的。如果您丢失了所有关于依赖项和编译的信息,那么对于新开发人员来说,参与项目将是一个巨大的混乱。我也喜欢这个答案,它也非常好。2017年,事实上的方法是使用Maven并明确地将IDE工作文件置于源代码控制之外。所有主要的IDE都有很好的支持。