Answers:
这发生在我身上。我仍然不确定如何操作,但是原因是我的工作区元数据已损坏,这可能是由于Eclipse未正确关闭导致的。该解决方案,为这里解释,就是:
请注意,如果Eclipse不会崩溃,但是仅不显示任何项目,步骤2和3是可选的。
对我来说,这很繁琐,因为我的工作空间中有几十个项目,但这是我发现的唯一解决方案,它无法从备份中还原整个工作空间。
编辑:这个答案现在已经很老了,现在可能存在更好的解决方案。尽管我没有必要尝试,但我建议您先尝试@antonagestam的解决方案,因为其他人建议它可能更快,更有效。
编辑:因为它很简单,所以我建议先尝试使用antonagestam的解决方案。但是,最近我又遇到了这个问题,该解决方案在我的情况下不起作用。但是它也没有干扰此解决方案。
我在Aptana遇到了同样的问题,突然我的项目都消失了。通过转到项目资源管理器中的下拉菜单,然后转到顶级元素->项目来解决该问题。
去
文件->导入->常规->现有项目到工作区
然后,在“ Root Directory
输入所有项目保存的工作区路径”中,单击“刷新”,如下所示
然后单击完成
我在Luna遇到了同样的问题,
突然我的项目在启动中就消失了。
我通过在项目资源管理器的下拉菜单中选择取消选择工作集选项来解决此问题。
注意:我发布了这个答案,即使这不是这个问题的正确答案。自从我搜索Luna并来到这里以来,在尝试讨论的事情时,我找到了这个解决方案。这可能会帮助其他人。
单击Windows>打开透视图> java,然后按确定。Project Explore将重新显示在屏幕上。
如果上述任何一种方法都不适合您,请删除旧的工作区,然后创建一个新的工作区并将其默认放置。您可以通过两次启动Eclipse(第二次要求您提供工作空间;)来实现此目的。然后,将所有项目重新导入到那里,然后说“问题,再见”。
如果您使用Eclipse的“任务列表”视图,它有时会尝试隐藏它认为与给定任务不相关的文件或项目(即,在您选择某个任务作为当前任务时未打开的任何文件) )。如果您希望Eclipse在这种情况下停止隐藏文件,则只需删除所有任务即可。
或者,您也可以重新启动Eclipse,只需关闭项目然后再次将其打开(从鼠标右键单击上下文菜单),即可恢复文件。
如果这样不能使您的项目恢复正常,请检查“过滤器选项”(单击“项目浏览器”选项卡的右上角,然后打开上下文菜单。从菜单中选择“过滤器”选项),并确保未选中您的项目类型。
今天22-03-2016,我再次检查此问题,并使用ECLIPSE MARS
我解决的方法:
在相同的工作区上,我所有的项目都在“ PROJECT EXPLORER”上
有时还会执行此操作,以解决问题(单击“项目”菜单上的dor查看所有项目!)
因此,其他解决方案是:
看来这发生在我们所有人身上。我很高兴地用JavaScript乱砍,几乎没有所有讨厌的休眠Java东西,而且兴隆起来,“找不到org.jboss.logging.BasicLoging”。我还没碰过任何东西!一个小时左右的尝试后,我重启了服务器,mysql,eclipse,添加了之前不需要的jar,我部署了修复所有解决方案,即关闭按钮。然后zap,没有项目。(对于现在为什么调用Configuration()现在应该要求jboss-logging ... jar仍然不明智,也许在发生坏事时一直需要它)
我的输入是
使用git,将您的工作尽可能少地保存在Eclipse工作区中。然后,当Eclipse失去大理石效果时,只需从现有的git repo导入项目即可。
我也丢失了服务器配置。它在那里,但是eclipse坚持没有服务器配置的东西和炸弹。因此,再说一遍,我已经在新的服务器名称中表达了对日食的感受,并从原始的完美目录中复制了您的apache xml配置(工作区/服务器/ I_Love_Eclipse)。
我找到了对我来说更好的解决方案。在主文件夹下,我找到了一个workspace / .metadata文件夹。我将此文件夹复制到了我的Eclipse工作区中,替换了原来的.metadata文件夹。当我启动Eclipse时,一切都恢复了我离开它的方式-所有项目都存在,所有打开的文件仍处于打开状态,等等。就像什么都没发生一样!我正在使用霓虹灯。
Cerin提供的解决方案在每次出现此问题时都会导入,可能会很无聊。
因此,我实现了一个脚本,该脚本控制是否退出工作区设置:如果不存在,请将其恢复为默认值。
我在顶部面板上有一个蚀快捷方式图标,它执行:
/opt/eclipse/checkWorkspace && /opt/eclipse/eclipse
脚本checkWorkspace是紧随其后的:
#!/bin/bash
ECLIPSE_CONFIG_PATH="/opt/eclipse/configuration"
ECLIPSE_CONFIG_FILE="config.ini"
ECLIPSE_CONFIG_SETTING="osgi.instance.area.default"
DEFAULT_WORKSPACE_PATH="@user.home/workspace"
ECLIPSE_LOG="/var/log/eclipse.log"
cd ${ECLIPSE_CONFIG_PATH}
function sedeasy {
sed -i "s/$(echo $1 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/$(echo $2 | sed -e 's/[\/&]/\\&/g')/g" $3
}
WORKSPACE_EXISTS=$(cat ${ECLIPSE_CONFIG_FILE} | grep ${ECLIPSE_CONFIG_SETTING})
# If workspace setting doesn't exists
if [ -z "$WORKSPACE_EXISTS" ]; then
echo "worskspace setting not exists, resetting to default." >> ${ECLIPSE_LOG}
newConf=${ECLIPSE_CONFIG_SETTING}"="${DEFAULT_WORKSPACE_PATH}
echo ${newConf} >> ${ECLIPSE_CONFIG_FILE}
else
# if setting exist but it is empty
vals=(${WORKSPACE_EXISTS//=/ })
length=$(echo ${#vals[@]})
if [ "${length}" -lt 2 ]; then
newConf=${ECLIPSE_CONFIG_SETTING}"="${DEFAULT_WORKSPACE_PATH}
confToReplace=$(echo ${vals[0]})
sedeasy ${confToReplace} ${newConf} ${ECLIPSE_CONFIG_FILE}
echo "worskspace exists but is empty, resetting to default." >> ${ECLIPSE_LOG}
else
echo "Worskspace already set:" "${vals[1]}"
fi
fi
也许可以简化,但是行得通。
乏味但对我有用(Kepler):
使用OS zip实用程序,将项目工作区文件夹下的所有内容都压缩为一个zip文件,并将其放置在单独的目录中(将c:\tmp\workspace.zip
用作示例)。
解压缩workspace.zip
到c:\tmp
目录。假设有一个名为Project1
一个。确保其中的所有文件Project1
都具有“ 所有人”的“ 完全控制”权限,或至少具有777
权限。
除去Eclipse工作区中的所有项目文件夹。
根据项目的原始类型(Java,Dynamic Web等)一一重建。(会使用Project1
,例如,)不要不添加任何东西。
在Eclipse中,执行File-> Import-> File System。然后选择c:\tmp\Project1
作为来源
选择工作区Project1作为目标。千万不能覆盖任何文件。
在Eclipse中,刷新项目并进行测试。它应该工作。
也有这个问题。
我的解决方案是取消选中“框PyDev:关闭的项目”,即使这些隐藏的项目是PHP而不是Python项目。(Eclipse / Aptana中的奇怪BUG?)
请注意,即使“ Closed Projects”(Pydev已关闭项目上方的主题)也未选中。因此,您必须同时取消选中设置。
如果Eclipse在关闭过程中被杀死,则项目数据库可能会损坏(项目数据库通常位于: workspace/.metadata/org.eclipse.core.resources/.root/1.tree
)。
这样的消息将被登录Workspace/.metadata/.log
:
!MESSAGE Could not read metadata for '.../.metadata/.plugins/org.eclipse.core.resources/.root/.markers'.
数据丢失。您需要再次导入项目(文件->导入->常规->现有项目到Workspace)。
工作区中的项目列表仍然可以在 .metadata/org.eclipse.core.resources/.projects/
。
位于工作区外部的项目将具有一个.location
包含项目路径的文件。