如何处理不同的JavaIDE和svn?

如何处理不同的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都有自己的配置文件方案,因此您可以提交所有配置文件而不产生任

如何确保将代码签出到Eclipse或NetBeans中并在那里使用它


编辑:如果您没有签入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)

我的理念是,构建应该采用“最低公分母”的方法。进入源代码管理的是进行构建所需的内容。虽然我只在Eclipse中开发,但我的构建是在命令行中使用ant进行的

关于源代码管理,我只从命令行签入对构建至关重要的文件。没有Eclipse文件。当我安装一台新的开发机器(似乎一年两次)时,要让Eclipse从ant构建文件导入项目需要一点努力,但这并不可怕。(理论上,这对其他IDE也应该是一样的,不是吗?当然他们必须能够从ant导入?)


我还记录了如何设置最小构建环境

我使用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并纠正任何编码问题 马上
我们正在Fedora9上开发32位和64位、Vista和WindowsXP,大约一半的开发人员使用一种IDE或另一种IDE。一些人同时使用这两种工具,并定期来回切换。

以下是我的工作:

  • 仅在源代码管理中维护ant构建脚本和关联的类路径。类路径可以在ant脚本、属性文件中显式显示,也可以由ivy管理
  • 编写一个ant目标,从ant类路径生成Eclipse.classpath文件
  • Netbeans将使用您的构建脚本和类路径,只需通过一个自由形式的项目配置它即可
  • 通过这种方式,您可以获得独立于IDE的构建脚本和快乐的开发人员:)

    netbeans网站上有一个关于如何做3的博客。但我现在找不到。我已经在我的网站上写了一些关于如何做上述操作的注释-(虽然很快,但很难看,对不起)


    注意,如果您正在使用Ivy(一个好主意)和eclipse,您可能会尝试使用EclipseIvy插件。我用过它,发现它是可怕的错误和不可靠的。最好使用2。上图。

    到目前为止,我们在这里也是这样做的。如果您丢失了所有关于依赖项和编译的信息,那么对于新开发人员来说,参与项目将是一个巨大的混乱。我也喜欢这个答案,它也非常好。2017年,事实上的方法是使用Maven并明确地将IDE工作文件置于源代码控制之外。所有主要的IDE都有很好的支持。