如何在用户之间共享Eclipse项目首选项?

8
我们团队有几个开发人员,源代码是通过Mercurial DVCS进行管理的。 .metadata文件夹不在源代码控制下。
问题在于,当我配置项目依赖项(jars,用户库,源代码路径等)时,它们存储在.metadata文件夹中,即在.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs中。
由于此文件未受DVCS管理,所有开发人员都需要重新执行项目配置过程。对于团队中的新开发人员来说,这是一个主要的头痛。
我的问题是是否有合理的程序来共享这种配置数据?我对Java和Eclipse的世界还很陌生,所以可能我漏掉了一些基本的东西。 编辑 问题在于我一直在使用定义为全局的User Libraries,因此它们无法共享。使用External Jars解决了问题,因为这些记录在项目目录内的.classpath文件中。
3个回答

7
您可以准备一个偏好设置文件(.epf),并将其存储在源代码控制中。每个开发人员都需要在他们使用的每个工作区中导入此文件。
要创建偏好设置文件,请转到 文件→导出...→常规→首选项。然后,您可以编辑.epf文件,以便仅包含您想与所有人共享的偏好设置。这样,您可以共享代码样式偏好设置、格式选项、编译器警告、JRE设置、UI调整以及许多其他类型的Eclipse偏好设置。

1
而且要想进行更多的自定义,可以参考Google Workspace Mechanics。 - eckes

4
使用独立于IDE的项目配置工具,如Maven,是一个简短的答案。
另外一个选择是ant - 一个非常强大的构建工具。最近有些过时。
共享此类工具使用的构建文件是使您的项目设置和依赖项易于管理和轻松移植的常见选项。
另一方面,不建议共享由Eclipse生成的元数据,因为Eclipse会使用绝对路径存储依赖项(不确定是否总是这样,但肯定有时),这些路径可能会导致一系列问题(第一手体验)。特别是在跨操作系统边界(win-linux)共享时。

4
你可以在项目配置中指定许多属性,而不是在全局配置中指定。只需右键单击该项目,然后选择“属性”即可。
Eclipse会将偏好保存在项目目录中,而不是工作区配置目录中。这样,您就可以将特定于项目的配置检入SCM并与其他项目成员共享。

请注意:问题在于当我配置项目依赖项(jars、用户库、源代码路径等)时,它们存储在.metadata文件夹内,即.metadata.plugins\org.eclipse.core.runtime.settings\org.eclipse.jdt.core.prefs...这并不是正确的做法。项目依赖项和jar文件依赖项等都存储在.classpath文件中。.metadata文件夹包含您的eclipse安装的元数据(例如您拥有哪些插件),它不包含类路径等项目设置。 - Angel O'Sphere
只需右键单击项目,然后选择“首选项”即可。但是在Eclipse Helios或Indigo中,我没有这样的菜单项。您能详细说明一下吗? - Eli Acherkan
没错。但是从问题中并不清楚用户想要分享哪些偏好设置。代码风格、Java版本等很多内容可以保存在本地的Eclipse工作区中,或者像我建议的那样保存在项目特定的属性中。 - Witek
用户库定义是一种允许每个开发人员在其机器上添加一组已配置的JAR文件(每个工作区)的方法。库名称被添加到.classpath中,但不包括库内容。 - Paul Webster
没错。这是一个好的解决方案,因为这样每个开发人员都可以使用自己喜欢的操作系统和其自己的库位置,并且仍然可以与其他人共享所需库的信息。 - Witek
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接