首页 文章

使用源代码管理共享Eclipse“构建器”

提问于
浏览
1

What files need to be submitted to source control for Projects to share Builders?

我正在使用Eclipse(Version Juno Service Release 1 - Build id:20120920-0800)开发一个项目 . 我们的团队使用Perforce作为该项目的源控制手段 . 为此,我们使用P4Eclipse插件 .

我遇到的问题是当我向项目中添加新的Builders时 .

Image of my Builder

Builder Settings

Builder在本地工作正常,但在我将更改提交给Perforce之后,任何同步的人都会收到错误 . 如果他们打开项目的Builder设置,我添加的Builder已被替换为错误消息:

无效的外部工具

我已经提交了.project文件和.launch文件 . 显然,我需要提交更多内容 .

深入挖掘,我发现在其他用户机器上,我承诺Perforce的.launch文件实际上被Eclipse删除了!只需打开包含项目的工作区,就会删除该文件 . 我认为这是“无效的外部工具”错误的原因;并不是说该工具是腐败的东西,而是它甚至不存在 .

进一步测试,我让用户在本地手动创建一个具有完全相同名称的新Builder . 然后他们关闭了Eclipse,并恢复了他们所做的所有更改 . 所以在这一点上,本地项目完全匹配以前的项目 . 但是现在当他们打开Eclipse时,我提交的构建器很好!

这意味着有一些本地设置告诉Eclipse“不要删除.launch;它是必需的”,只需在本地创建一个(甚至在之后恢复该更改)该消息被设置 .

所以我的最终问题是:为了共享项目的Builder设置,需要在源代码管理下使用哪些文件?


我做了另一个测试:

这次我制作了项目目录和工作区目录的副本,然后创建了一个新的Builder . 然后,我对整个项目目录和工作区目录进行了比较 .

在项目目录中,只更改/添加了.project和.launch文件,但这些文件都已经过源控制 .

在工作区中,大量文件发生了变化,但大多数都是二进制文件,通过查看它们并没有引用我添加的Builder .

5 回答

  • 1

    查找具有正确启动的构建器的项目 . 接下来查看项目中的所有“点资源”(.project,.classpath,.settings /等),并查看哪些文件包含用于支持构建器的信息 . 然后查看您的Perforce配置,以确保您不会忽略这些点文件 . 有时版本控制插件默认不会保存点资源文件,因为它们有时依赖于机器 . 可能并非所有的点文件都将其发送到另一台计算机,并且构建器工具中的迁移功能删除了所有点文件,以免配置不完整 .

  • 1

    我想说,很可能只是他们没有文件和目录,这是由构建器引用的 . 在http://tinypic.com/view.php?pic=al3nkg&s=6的图片中可以看出,您触发了一些应用程序,它位于某个父目录中 . 我认为解决方案可能是,他们在其他路径上有这个工具(bootinfo.bat),或者他们没有 . 如果这是真的,eclipse无法启动它 . 它总是最好运行一些工作区包含带有eclipse的外部工具 .

  • 0

    我一直无法找到答案 .

    我在Eclipse论坛上发了帖子:http://www.eclipse.org/forums/index.php/m/950400/#msg_950400

    我还记录了一个错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=392611

    在撰写本文时,两者都没有任何回复 .

  • 1

    我刚刚在Eclipse Kepler上遇到过这个问题 . 在Project - > Refresh之后,它奇迹般地为失踪的建设者提供资金 .

  • 1

    您还需要检查位于工作区/ .externalToolBuilders中的eclipse生成的“your_builder.launch”文件 .

相关问题