Java 处理重构时捕获到异常';重命名包';

Java 处理重构时捕获到异常';重命名包';,java,eclipse,refactoring,Java,Eclipse,Refactoring,Eclipse中的这个重构函数用于包名,在。。。今天: 这是我第一次收到这种奇怪的重构错误,我不知道该如何处理它: 在运行时捕获到异常 正在处理重构的“重命名” 包' 原因:在安装过程中遇到的问题 移动资源 单击“撤消”可成功撤消所有操作 已执行的当前文件的更改 重构。单击“中止”以中止 当前的重构 有什么可能解释这种突然的“心的改变”,我该如何解决它 在Windows下,这通常是由于文件或目录被锁定造成的。这可能有几个原因: 文件在Eclipse外部的查看程序中打开。Windows将不允许重

Eclipse中的这个重构函数用于包名,在。。。今天:

这是我第一次收到这种奇怪的重构错误,我不知道该如何处理它:

在运行时捕获到异常 正在处理重构的“重命名” 包'

原因:在安装过程中遇到的问题 移动资源

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

有什么可能解释这种突然的“心的改变”,我该如何解决它


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

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

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

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

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

A打包->A打包失败


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


我看到了库鲁所说的背后的优点。Windows不是区分大小写的操作系统,这意味着它将Cat和Cat视为同一事物。重命名包时,Eclipse将创建新的目录/文件夹以将包放入其中。如果您更改了单词的大小写而没有实际重命名,则可能会引发此错误。

如果在类名中使用下划线等字符(例如My_class.java),则可能会导致此错误。该项目将建设和运行良好。但是在Eclipse中,如果运行Android Tools>Rename应用程序包,重命名将失败。

得到了相同的错误。原来我的ClearCase(版本控制)插件是非活动的。只要激活版本控制插件,问题就解决了。

当我在Ubuntu中工作时,同样的重构问题也发生在我身上。原因是权限限制。Eclipse无法重新计算,因为它没有权限。在给予root权限之后,重构对我来说很好

如果问题是因为案例。我已经成功地尝试了一个解决方案

  • 这将失败
  • org.xyz.fileName---重命名-->org.xyz.fileName

  • 这会过去的
  • org.xyz.fileName---重命名-->org.abc(重命名结构)

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

    也许你的项目有些地方被破坏了。您是否尝试过关闭Eclipse并启动它,然后再试一次?@nicholas.hauschild是的,我确实尝试过关闭Eclipse并启动它,甚至在发布我的帮助请求之前。我完全被地球上最好的工具之一的这种不可预测的行为所迷惑。我甚至试着清理整个项目并建造它——但都没有用。有趣的是,项目构建和运行都非常完美!由于某种原因,只有包名重构停止了工作。这很奇怪。谢谢你的帮助。你很幸运。在EclipseMars(4.5.1)中,我没有中止,而是有一个详细信息按钮,所以只做了一些更改,我的项目被破坏了。感谢您深思熟虑的回答。我只是重新启动了Windows,看看这是否解决了问题。没有。Eclipse在所有其他方面都能完美工作,所以我不认为它是一个损坏的Eclipse。工作区有0(零)个错误。这还能是什么?谢谢&+1。只要你没有尝试过我列出的步骤,我就没有其他建议。也谢谢你(和+1)的见解。是的,它是Windows7 64位的,但是重构包名过去工作得很好!(到目前为止)。我相信@Thorbjørn Ravn Andersen所说的,但是重新安装Eclipse或指向一个新的工作区并不是一个正确的解决方案,即使它使问题“消失”。我解决了这个问题!事实证明,最近重命名了一个.java文件(仅一个),其方式与您描述的Kurru产生了相同类型的别名。我不得不关闭Eclipse,手动重命名该文件以匹配Java规则,以便将文件名与类匹配,然后一切又像往常一样开始工作。我只能接受一个答案。:)谢谢你。我没有尝试用不同的大小写将包重命名为相同的名称。但是它是一个.java文件,有着同样的问题。(请看我对术士的重播)。我只是在Subversion上遇到了同样的问题——新的位置还没有处于版本控制之下,而旧的位置处于版本控制之下。谢谢你的回答,这对我帮助很大。