代码之家  ›  专栏  ›  技术社区  ›  lucasmo

修正Eclipse Java引用数据库损坏?

  •  13
  • lucasmo  · 技术社区  · 17 年前

    如何使Eclipse重建包含在项目或工作区中的类的数据库?这就是它用来使“引用”菜单动作工作的地方,它用来“添加导入”对话框的地方,等等。基本上,它是Eclipse核心功能的一部分。现在,它只对我项目的5%起作用。

    我已经多次遇到这个问题:Eclipse发生了一些事情,要么是因为我打开了一些大文件,要么是因为工作区只有几个月的硬使用时间。

    现在,我在win32上使用EclipseGalileo。然而,我在MacOS以及Europa和Ganymede上都遇到过这个问题。

    在过去,我已经破坏了我的工作区并重新开始,但今天这不是一个选择。我最后一次工作区备份是从上周五开始的,但这仍然意味着要花几个小时来恢复。肯定还有别的选择吗?

    编辑:我已经使用Eclipse-Clean并重新构建了我的项目。这在Eclipse的某个地方是一个腐败问题,而不是在我的项目中。

    8 回复  |  直到 11 年前
        1
  •  38
  •   Adam Batkin    17 年前

    .metadata/.plugins/org.eclipse.jdt.core/ 目录。下次启动Eclipse时,它将重建所有内部索引。通常,清理项目不会强制重新构建所有元数据。

        2
  •  7
  •   ireddick    17 年前

    如果只是在项目级别,我记得您可以简单地关闭项目(即,项目->关闭项目),然后重新打开它(项目->打开项目)。你甚至不需要重启Eclipse。

        3
  •  2
  •   lucasmo    17 年前

    • 将工作区切换到新工作区
    • 将旧项目导入新工作区(文件->导入->常规->现有项目导入工作区),选择“复制项目”

    • 右键单击项目,选择团队,选择“共享项目”。选择您使用的版本控制存储库类型,然后单击下一步。Eclipse应该意识到您的项目已经为此进行了配置,只需单击Finish即可。
    • 使用存储库更新源。
        4
  •  1
  •   amischiefr    17 年前

    发生这种情况时,我通常需要从工作区中删除项目,转到命令行和rm-rf.settings.profile.classpath,然后重新导入项目。有时我必须删除元数据目录(这意味着我必须重新安装一些插件)。我还没有找到一个真正的解决办法。清理这个项目没有任何帮助。

        5
  •  0
  •   Rich Kroll    17 年前

    我建议运行项目清理…在项目上。这将导致对项目的完全重新编译。

        6
  •  0
  •   VonC    17 年前

    首先,您可以尝试删除项目(当然,不删除源,只删除与之关联的元数据)。

    然后将项目重新导入工作区(因为.classpath和.project仍在硬盘上)

    工作区不受影响,只影响与当前项目相关的部分。

        7
  •  0
  •   H2000    17 年前

    #starting from current folder (".") search for folders 
    # ("-type d") with name (-iname ) "target" or "bin"
    # feed this to xargs which calls 
    # rm -rf (remove recursive "-r" and force "-f") 
    # with the results from find
    
    find . -iname "target" -type d | xargs rm -rf 
    

    find . -iname "bin" -type d | xargs rm -rf 
    

    c)重启Eclipse

    通常不需要从工作区中删除任何项目,也不需要删除.classpath或.setting!

    d)清理所有项目

        8
  •  0
  •   Kevin Parker    11 年前

    对我来说,这是一个过滤器…在WindowsEclipseLuna上按ctrl+g,实际检查“潜在匹配”,问题就消失了。