需要将哪些文件提交给项目的源代码管理以共享构建器?
我正在使用Eclipse开发项目(版本Juno Service Release 1 - Build id:20120920-0800)。我们的团队使用Perforce作为该项目的源控制手段。为此,我们使用P4Eclipse插件。
我遇到的问题是当我向项目中添加新的构建器时。
构建器在本地运行良好,但在我将更改提交给Perforce之后,任何同步的人都会收到错误。如果他们打开项目的Builder设置,我添加的Builder已被替换为错误消息:
无效的外部工具
我已经提交了.project文件和.launch文件。显然,我需要提交更多内容。
深入挖掘,我发现在其他用户机器上,我承诺Perforce的.launch文件实际上被Eclipse删除了!只需打开包含项目的工作区,就会删除该文件。我认为这是“无效的外部工具”错误的原因;并不是说工具是腐败的东西,而是甚至不存在。
进一步测试,我让用户在本地手动创建一个具有完全相同名称的新Builder。然后他们关闭了Eclipse,并恢复了他们所做的所有更改。所以在这一点上,本地项目完全匹配以前的项目。但是现在当他们打开Eclipse时,我提交的构建器很好!
这意味着有一些本地设置告诉Eclipse“不要删除.launch;它是必需的”,只需在本地创建一个(甚至在之后恢复该更改)该消息被设置。
所以我的最终问题是:为了共享项目的Builder设置,需要在源代码管理下使用哪些文件?
我做了另一个测试:
这次我复制了我的项目目录和工作区目录,然后创建了一个新的Builder。然后,我对整个项目目录和工作区目录进行了比较。
在项目目录中,只更改/添加了.project和.launch文件,但这些文件都已经过源控制。
在工作区中,大量文件发生了变化,但大多数都是二进制文件,通过查看它们并没有引用我添加的构建器。
答案 0 :(得分:1)
查找具有正确启动的构建器的项目。接下来查看项目中的所有“点资源”(.project,.classpath,.settings /等),并查看哪些文件包含用于支持构建器的信息。然后查看Perforce配置以确保您不会忽略这些点文件。有时版本控制插件默认不会保存点资源文件,因为它们有时依赖于机器。可能并非所有的点文件都可以转到另一台机器上,而构建器工具中的迁移功能可能会删除所有的点文件,以免配置不完整。
答案 1 :(得分:1)
我想说,很可能只是他们没有构建器引用的文件和目录。在http://tinypic.com/view.php?pic=al3nkg&s=6的图片中可以看到,您触发了某个应用程序,该应用程序位于某个父目录中。我认为解决方案可能是,他们在其他路径上有这个工具(bootinfo.bat),或者他们没有。如果这是真的,eclipse无法启动它。最好运行一些包含eclipse外部工具的工作区。
答案 2 :(得分:1)
我一直无法找到答案。
我在Eclipse论坛上发布了帖子:http://www.eclipse.org/forums/index.php/m/950400/#msg_950400
我还记录了一个错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=392611
在撰写本文时都没有任何回应。
答案 3 :(得分:1)
我刚刚在Eclipse Kepler上遇到过这个问题。在项目之后,它奇迹般地为失踪的建筑商提供资金 - >刷新。
答案 4 :(得分:0)
您还需要检查位于工作区/ .externalToolBuilders中的eclipse生成的“your_builder.launch”文件。