在代码存储库中同步Eclipse .classpath

时间:2012-04-24 16:15:35

标签: eclipse version-control classpath

我的团队使用Eclipse处理多个Java项目,并使用代码存储库共享代码。

当开发人员添加,删除或更新jar文件时,构建将被其他所有人破坏,直到他们在Eclipse中更新其构建路径。此过程涉及繁琐的电子邮件同步。

由于多种原因,我们决定不将.classpath文件提交给回购。相反,我们提出了以下想法:每个项目都有一个提交文件,比如说jars.list,其中包含jar个文件(和模式)的列表。脚本会将此文件转换为本地.classpath以进行日食。每当开发人员更换其jar时,更改jars.list并提交它是他或她的责任。

这是一个合理的解决方案吗?这个问题有没有现成的解决方案?

2 个答案:

答案 0 :(得分:4)

Eclipse .project.classpath文件旨在/设计用于检入版本控制存储库(cvs,svn,git等)。请参阅Eclipse wiki中的this page

有多种方法可以保持.classpath文件“干净”(即,没有绝对路径),我在上面的评论部分提到过。

答案 1 :(得分:2)

构建被破坏是因为每个开发人员机器中JAR的绝对路径是不同的?如果是这样,您可以添加用户变量以避免此问题,这样每个开发人员只需配置一个变量(如LIB_DIR):

<classpathentry kind="var" path="LIB_DIR/path/to/file.jar"/>

还有其他解决方案。您可以在eclipse中配置一些用户库以对JAR进行分组,然后导出可以在您的仓库中共享的.userlibraries文件。这样,.classpath中就没有绝对路径,但它们会出现在.userlibraries中。

您还可以使用Maven之类的工具来管理项目的依赖关系。

无论如何,我认为你可以毫无问题地分享.classpath ......