【问题标题】:exception has been caught while processing the refactoring 'Rename package'处理重构“重命名包”时捕获到异常
【发布时间】:2011-08-07 10:32:46
【问题描述】:

这个在 Eclipse 中用于包名称的重构功能曾经对我很好,直到...今天:

这是我第一次收到这个奇怪的重构错误,我不知道该怎么做:

一个异常被捕获,而 处理重构“重命名” 包”。

原因:遇到的问题 移动资源。

单击“撤消”以成功撤消所有操作 当前执行的更改 重构。单击“中止”以中止 当前的重构。

什么可以解释这种突然的“改变主意”,我该如何解决?

【问题讨论】:

  • 您的项目中的某些内容可能已损坏。您是否尝试过关闭 Eclipse 并启动它,然后再试一次?
  • @nicholas.hauschild 是的,我确实尝试过关闭 Eclipse 并启动它,甚至在发布我的帮助请求之前。我对地球上最好的工具之一的这种不可预测的行为感到完全困惑。我什至尝试清理整个项目并构建它 - 无济于事。有趣的是项目构建和运行完美!只有 package name 重构由于某种原因停止工作。这很奇怪。感谢 & + 1 您尝试提供帮助。
  • 你很幸运。我在 Eclipse Mars (4.5.1) 中有一个详细信息按钮,而不是 Abort,所以只进行了一些更改,我的项目被破坏了。

标签: java eclipse refactoring


【解决方案1】:

我只是重新启动计算机并启动 STS(Spring Tool Suite 4) 并删除对我有用的文件/类。

【讨论】:

    【解决方案2】:

    如果是因为大小写的问题。我已经成功尝试了一个解决方案。

    1. 这将失败

    org.xyz.fileName ---重命名---> org.xyz.filename

    1. 这会过去的

    org.xyz.fileName ---rename---> org.abc(重命名结构)

    org.abc ---重命名---> org.xyz.filename 这会很好用!

    【讨论】:

      【解决方案3】:

      当我在 Ubuntu 中工作时,我也遇到了同样的重构问题。原因是权限限制。 Eclipse 无法重构,因为它没有权限。在授予 root 权限后,重构对我来说效果很好。

      【讨论】:

        【解决方案4】:

        遇到同样的错误。事实证明,我的 ClearCase(版本控制)插件处于非活动状态。只需激活版本控制插件,问题就解决了。

        【讨论】:

        • 我刚刚在使用 Subversion 时遇到了同样的问题 - 新位置尚未受版本控制,而旧位置受版本控制。谢谢你的回答,对我帮助很大。
        【解决方案5】:

        如果在类名中使用下划线之类的字符(例如 My_Class.java),可能会导致这种情况。该项目将构建并运行良好。但是在 Eclipse 中,如果你运行 Android Tools > Rename Application Package,重命名会失败。

        【讨论】:

          【解决方案6】:

          从您的快照看来,您正在运行 Windows 7,也许是 vista。如果不是重命名问题,请尝试以管理员身份运行 eclipse。它可能与权限相关,但这只是一个想法。

          我看到了 Kurru 所说的话背后的价值。 Windows 不是一个区分大小写的操作系统,这意味着将 Cat 和 cat 这两个词视为同一个东西。当你重命名你的包时,Eclipse 会创建新的目录/文件夹来放置这个包。如果你改变了单词的大小写并且没有真正重命名它,它可能会抛出这个错误。

          【讨论】:

          • 也感谢您(和 +1)您的见解。是的,它是 Windows 7 64 位,但重构包名称曾经完美运行! (直到现在)。我相信@Thorbjørn Ravn Andersen 所说的,但是重新安装 Eclipse 或指向新的工作区并不是一个正确的解决方案恕我直言——即使它会使问题“消失”。
          • 我解决了这个问题!事实证明,一个 .java 文件(仅)最近以一种创建与您所描述的相同类型的别名 Kurru 的方式重命名。我不得不关闭 Eclipse,手动重命名文件以匹配 Java 规则以匹配文件名和类,然后一切又像往常一样开始工作。我只能接受一个答案。 :)
          【解决方案7】:

          如果您只是想将一个包重命名为相同的名称,只是使用不同的大小写,则会为我抛出此错误。尝试将包名称固定为小写约定时非常烦人。

          成功地将包重命名为步骤文件夹,然后重命名为目标文件夹...

          即。

          APackage -> apackage 失败

          APackage -> APackage2 -> apackage 成功

          【讨论】:

          • 谢谢 + 1。我没有尝试用不同的大小写将包重命名为相同的名称。但是......这是一个具有相同问题的 .java 文件。 (见我对术士的重播)。
          【解决方案8】:

          在 Windows 下,这通常是由文件或目录被锁定引起的。这可能有几个原因:

          • 在 Eclipse 之外的查看程序中打开了一个文件。 Windows 不允许重构打开的文件。
          • CMD.EXE 在要重构的目录之一中处于活动状态。 Windows 不允许移动或删除目录。
          • 一个程序正在运行,工作区中的项目打开了文件。 Windows 不允许重构这些项目。

          如果这是新启动的机器上新启动的 Eclipse 的行为,可能不是 Windows,而是损坏的工作区或 Eclipse 发行版,您应该解压缩新的 Eclipse 并创建一个新的工作区,您可以在其中导入(和复制)旧工作区中的现有项目。不过,我认为这不是问题所在。

          【讨论】:

          • 感谢您的深思熟虑的回答。我刚刚重新启动了 Windows,看看这是否能解决问题。它没有。 Eclipse 在所有其他方面都运行良好,所以我不认为它是损坏的 Eclipse。工作区有 0(零)个错误。这还能是什么?谢谢和+1。
          • 只要你没有尝试过我列出的步骤,我没有其他建议。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-06
          • 2010-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多