【问题标题】:How can I change a project's location pointer in Eclipse?如何在 Eclipse 中更改项目的位置指针?
【发布时间】:2013-05-20 08:07:20
【问题描述】:

项目已移至其他位置,因此 Eclipse 不会打开该项目。您会立即考虑简单地更改指向该位置的指针,但在 Eclipse 中,出于某种原因,他们试图使这成为不可能。

您不能在Project Explorer 属性中更改项目位置。

你可以去[workspace]/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/ProjectName尝试编辑.location,这是指向项目的指针,但是这个文件是故意以二进制形式存储的。

我该如何更改这个.location,有什么工具可以解决这个问题吗?还有其他方法可以简单地将我的旧项目条目指向它的新位置吗?

【问题讨论】:

标签: eclipse directory location project target


【解决方案1】:

从 Eclipse 中删除项目。

确保在此删除过程中未选中复选框

然后通过File -> Import -> Import existing project 导入项目并从新位置选择。

不要尝试手动修改eclipse文件!

【讨论】:

  • 当我删除项目时,我的工作区中不是我的项目特定设置,因此会丢失吗?
  • 重要提示:删除项目时,对“删除磁盘上的项目”说“不”。然后它只是将其从您的工作区中删除。
  • @Redsandro 项目特定设置存储在项目中而不是工作区中。重新导入项目时,设置应该相同。如果您有疑问,请备份您的工作区并尝试一下。弗朗西斯,因为项目被移动了,这应该是无关紧要的,但要绝对确定你是对的。
  • Bold Don't 可以帮助您节省大量问题,我必须努力学习。谢谢普罗克特先生:D
  • Instructions for how to "delete the project from Eclipse" -- 适用于开普勒,但仍然适用
【解决方案2】:

更简单:

右键 -> 重构 -> 移动

.

【讨论】:

  • @slaadvak 右键单击​​包管理器中的项目,然后在“构建路径”和“源”条目下方的第 4 部分中查看“重构 (Alt+Shift+T)”。
  • 这个命令非常适合移动 eclipse 期望的磁盘位置的项目;但是,如果代码已被移动(如问题所示),您将无法使用此技术,您需要使用@kai 提供的答案;删除项目并从新位置重新导入。
  • 这只是有用的答案
  • 如果您已经移动了项目。您可以从旧位置对新位置进行符号链接。因此,eclipse 可以在两个位置找到它以启动重构-> 移动。这对我有用。
  • Eclipse Juno 中不存在此选项
【解决方案3】:

你可以去 [workspace]/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/ProjectName 并尝试编辑指向项目的指针.location,但这个文件是故意的以二进制形式存储。您应该编辑文件中的位置和一些二进制数据] 应该编辑的二进制数据是粗体:

40 B1 8B 81 23 BC 00 14 1A 25 96 E7 A3 93 BE 1E 00 5D 55 52 49 2F 2F 66 69 6C 65 3A 2F 44 3A 2F 6D 61 64 64 61 68 2F 50 72 6F 6A 65 63 74 73 2F 46 6C 65 65 74 4D 61 6E 61 67 65 6D 65 6E 74 2F 54 79 70 65 73 2F 50 6F 72 74 61 62 6C 65 63 6F 64 65 2F 46 69 72 6D 77 61 72 65 2F 74 65 73 74 2F 43 50 50 2F 41 54 6D 65 61 67 38 4C 69 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 58 FB F3 23 BC 00 14 1A 51 F3 8C 7B BB 77 C6

文件0x11的位置,是文件名的长度,你应该编辑它。它的值是高亮部分的长度

您也可以使用 ProjectLocationUpdater :https://marketplace.eclipse.org/content/projectlocationupdater/metrics

【讨论】:

  • ProjectLocationUpdate 就像一个魅力!它适用于多个项目。
  • ProjectLocationUpdater 就像一个魅力。之前我们只需要完成一个额外的步骤:因为我们要移动到没有相同磁盘布局的不同计算机,我们必须移动到另一个驱动器+位置(从 D:C:\dev):我们必须挂载旧文件夹位置让 Eclipse 使用subst D: C:\dev 查找旧文件。 (在 Linux/Max 上,符号链接就可以了)
  • 正确答案不应该是“编辑二进制数据”!右键,Refactor --> Move... 是正确答案。
  • 当我从 PC 切换到 Mac 时,我不得不更新十几个项目... ProjectLocationUpdater 只需点击几下就可以完成!太棒了!
  • ProjectLocationUpdate ,很好的建议 ;-)
【解决方案4】:

我意识到这是一篇旧帖子,但我想我会为同一问题添加自己的解决方案。我已经从另一台机器将一些项目导入我的工作区。但是,资源文件不会构建,因为由于某种原因 Eclipse 错误地标记了项目的位置(使用映射路径而不是 unc 路径)。这意味着每次我尝试在工作区中引用库时,它们都会勾选绿色,然后变为红色并失败。尽管库和项目在同一个工作区中,但我遵循了正确的程序来导入项目。

正如 OP 在属性下提到的,有一个项目位置路径。我注意到项目位置不同,但出于某种奇怪的原因,Eclipse(以其全能的智慧)不允许您重新选择或更改路径。事实上,即使尝试重构->移动也会失败,因为项目已经在工作区中(从未听说过为移动生成临时文件夹?)。

但是,在查看导入项目的文件结构后,我确实注意到 Eclipse 添加了一个 .location 文件(如上所述),该文件实际上在工作区中的所有其他项目中都不存在。所以我删除了 .location 文件,重新打开了 eclipse,果然项目构建正确。

因此,在像这样愚蠢的事情上浪费了几个小时之后,我现在可以工作了,希望这也可以为您节省一些麻烦。

【讨论】:

    【解决方案5】:

    您可以使用十六进制编辑器更改 .location 文件。 但是,您不能简单地用新的替换存储在那里的文件位置字符串。您还必须相应地编辑定义其长度(以字节为单位)的前一个字节。然后您可以在 Eclipse 中重新打开该项目。

    【讨论】:

      【解决方案6】:

      我在 PyDev (python) 中工作,但此重构选项不可用。我不得不切换到 Java 包管理器来完成这个。之后,我切换回 PyDev。

      【讨论】:

        【解决方案7】:

        对我有用的总结(摘自其他答案和 cmets)

        1(仅当您已经移动项目时才需要)

        make symlink to the new location from the old location.
        

        2 无论项目类型如何(Java、Python 等)

        Open view Package Explorer (Window -> Show View -> Other -> Java -> Package Explorer)
        Right click -> Refactor -> Move (in the relevant project within that Package Explorer)
        Select new location
        

        3(如果创建了符号链接)

        Delete symlink if one was created in step 1
        

        【讨论】:

          【解决方案8】:

          不建议更改 .location 文件。 如果您手动编辑 .location 文件,eclipse 项目列表将被破坏。 修改文件后我丢失了所有项目。

          【讨论】:

            【解决方案9】:

            诚然,这是一篇过时的帖子,但我想提一下,当我将项目推送到新的 Github 存储库时,我在使用 Spring Tool Suite 3.9.7 时遇到了同样的问题,并且出现了严重错误。结果,我无法再在本地运行我的应用程序,不得不恢复项目位置。我读过关于 git 删除项目文件的恐怖故事,所以我做了一些研究。在大多数情况下,我选择了上面@kerner1000 的答案,但还有一个重要的补充。请参阅以下步骤和说明。

            • 室温。点击项目
            • 选择“重构”
            • 选择“移动...”
            • 选中复选框,“使用默认位置”

            注意:我最初尝试复制/粘贴到将项目重定位到的路径中,但 Eclipse 给了我一个覆盖错误。所以选中复选框会有所不同。

            【讨论】:

              【解决方案10】:

              在 eclipse 中,版本:2020-03 (4.15.0),你可以这样做:

              1. 在项目名称上方,右键单击。
              2. 选择重构
              3. 重命名。
              4. 指明将包含移动源的空文件夹

              【讨论】:

                【解决方案11】:

                试试这个。 打开 eclipse --> 转到文件 --> 切换工作区 --> 其他 --> 通过单击浏览按钮选择您的工作区。 希望这会奏效。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2010-11-28
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-07-22
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多