Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享Eclipse“;建筑商“;使用源代码管理_Eclipse_Version Control_Perforce_Builder_P4eclipse - Fatal编程技术网

共享Eclipse“;建筑商“;使用源代码管理

共享Eclipse“;建筑商“;使用源代码管理,eclipse,version-control,perforce,builder,p4eclipse,Eclipse,Version Control,Perforce,Builder,P4eclipse,项目需要向源代码管理提交哪些文件才能共享构建器? 我正在使用Eclipse(版本Juno Service Release 1-构建id:20120920-0800)进行一个项目。我们的团队使用Perforce作为这个项目的源代码控制手段。为此,我们使用P4Eclipse插件 我遇到的问题是当我向项目中添加新的构建器时 构建器在本地运行良好,但在我将该更改提交给Perforce后,任何同步的人都会出错。如果他们打开项目的生成器设置,则我添加的生成器已替换为错误消息: 无效的外部工具 我已经提交

项目需要向源代码管理提交哪些文件才能共享构建器?

我正在使用Eclipse(版本Juno Service Release 1-构建id:20120920-0800)进行一个项目。我们的团队使用Perforce作为这个项目的源代码控制手段。为此,我们使用P4Eclipse插件

我遇到的问题是当我向项目中添加新的构建器时

构建器在本地运行良好,但在我将该更改提交给Perforce后,任何同步的人都会出错。如果他们打开项目的生成器设置,则我添加的生成器已替换为错误消息:

无效的外部工具

我已经提交了.project文件和.launch文件。显然,我还需要提交更多的东西

再深入一点,我发现在其他用户的机器上,我提交给Perforce的.launch文件实际上已经被Eclipse删除了!只要打开包含项目的工作区,它就会删除该文件。我认为这是导致“外部工具无效”错误的原因;并不是说这个工具已经损坏了,而是它根本不存在

进一步测试,我让用户在本地手动创建一个名称完全相同的新生成器。然后他们关闭Eclipse,并恢复他们所做的所有更改。所以在这一点上,本地项目完全符合他们之前的情况。但是现在,当他们打开Eclipse构建器时,我提交的负载很好

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

所以我的最终问题是:为了共享项目的构建器设置,哪些文件需要在源代码控制下


我做了另一个测试:

这次我复制了我的项目目录和工作区目录,然后创建了一个新的构建器。然后我比较了整个项目目录和工作区目录

在项目目录中,仅更改/添加了.project和.launch文件,但这两个文件都已受源代码控制


在工作区中,许多文件都发生了更改,但大多数都是二进制文件,仔细查看,没有找到我添加的构建器的引用。

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

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

我想说的是,它们很可能没有生成器引用的文件和目录。在图中可以看到,您触发了某个应用程序,它位于某个父目录中。我认为解决方案可以是,他们在其他路径上有这个工具(bootinfo.bat),或者他们没有。如果这是真的,eclipse将无法启动它。最好使用eclipse运行一些包含外部工具的工作区。

我想说的是,很可能他们没有构建器引用的文件和目录。在图中可以看到,您触发了某个应用程序,它位于某个父目录中。我认为解决方案可以是,他们在其他路径上有这个工具(bootinfo.bat),或者他们没有。如果这是真的,eclipse将无法启动它。最好使用eclipse运行一些包含外部工具的工作区。

我还没有找到这个问题的答案

我在Eclipse论坛上发表了一篇帖子:

我还记录了一个错误:


在撰写本文时,双方都没有任何回应。

我还没有找到答案

我在Eclipse论坛上发表了一篇帖子:

我还记录了一个错误:


在撰写本文时,两人都没有任何回应。

我刚才在Eclipse Kepler上遇到过这个问题。在Project->Refresh之后,它奇迹般地为丢失的构建器提供了资金。

我刚才在Eclipse开普勒上遇到了这个问题。在Project->Refresh之后,它奇迹般地为丢失的构建器提供了资金。

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

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

我找到的唯一引用构建器的文件是.project文件,但该文件已经受源代码控制。实际上,我在文件中搜索了整个项目目录和工作区目录,没有找到对我创建的生成器的任何其他引用。我找到的唯一引用了生成器的文件是.project文件,但该文件已受源代码控制。实际上,我在文件中搜索了整个项目目录和工作区目录,没有找到我创建的生成器的任何其他引用。谢谢gabo