从现有源创建新项目时 Eclipse“无效项目描述”

Posted

技术标签:

【中文标题】从现有源创建新项目时 Eclipse“无效项目描述”【英文标题】:Eclipse "Invalid Project Description" when creating new project from existing source 【发布时间】:2011-08-12 16:22:13 【问题描述】:

我正在尝试从现有源代码创建一个新项目。我不断收到以下错误:“无效的项目描述”,项目路径“与另一个项目的位置重叠”同名。原因是我之前从源代码创建了该项目,但后来我删除了该项目并删除了它的整个目录,然后再次添加源代码目录。我尝试了诸如清洁和重新启动之类的所有方法,但没有任何效果。我查看了我的工作区目录,但没有旧项目的痕迹。 关于这个问题有几个问题,例如Attempting android Notepad Tutorial - Exercise 1 - More problems,但没有一个答案对我有用!

【问题讨论】:

据我所知,这是一个错误。我认为,[here][1] 是一个很好的解决方法。 [1]:***.com/questions/4054216/… 您必须将其作为现有项目导入,而不是作为现有代码导入工作区:) 一个非常愚蠢的故障仍然发生在 2014 年 阿德里安的答案应该是公认的答案 它仍然在 2014 年发生,但 @adrian 的回答帮助了我!谢谢! 【参考方案1】:

进入您的工作区,将您的项目源代码文件夹移动到工作区之外的另一个区域(例如桌面)。确保项目在 eclipse 中被删除,然后从该目录的源代码创建一个新项目。

您可以做的另一件事是尝试创建一个不同名称的项目(与第一个项目的源代码不同),以便工作区将新项目作为功能项目包含在内。然后,进入您的工作区目录并绝对删除包含原始项目的文件夹,或移动它。尝试再次从源代码加载项目,这次使用第二个项目,使用正确的名称命名。或者,您可以尝试将第二个项目重构回第一个项目的名称。

【讨论】:

谢谢。我尝试在同一个工作区中创建一个新目录并将源代码目录放在那里。那行得通!我希望有一种干净的方法可以做到这一点,而无需更改/移动目录或工作区。 在 Eclipse 中,文件菜单中有一个“导入”选项,尽管我不确定它是否会使用与工作区中相同的文件夹。 Eclipse 真的很喜欢创建自己的目录... 1.import>General>Existing Project into Workspace.... 取消选中 Copy projects into workspace.... @zacharia 不幸的是,这对我不起作用。 “复制项目”未选中,我仍然收到错误消息。 Eclipse 很烂。我不能只打开probject。我必须把它放在其他地方并导入它。 我得到了完整的 BSOD 和 Eclipse 只是搞砸了,这只是众多之一。现在它终于尝试加载,但实际上永远占用了 CPU。我重新安装了eclipse无济于事,但谢谢。现在又近了一步。【参考方案2】:

我自己已经为这个问题苦苦挣扎了一段时间,我认为它发生的原因是因为(对于 Android)有两种方法可以将项目导入工作区

1) 文件>导入>常规>现有项目到工作区 2) File>Import>Android>Existing Code into Workspace

这里描述的错误与方法2)有关。

对于方法1),如果项目已经在工作区中,只要取消选中“将项目复制到工作区”框,就不会出现重叠问题。

编辑: 第三种方法不在我的原始帖子中。

3) File >New>Other>Android>Existing Android Project into Workspace

【讨论】:

对我有用的是上面的#2,但检查了将项目复制到工作区。显然,仅仅将文件物理地放在一个新的工作空间中对我来说是不够的,我还必须使用这个 Copy 选项让 Eclipse 识别它在那里。也解决了外部 .jar 被识别的另一个问题。 我还必须使用 Copy 选项让 Eclipse 识别它的存在。 使用复制选项对我有用。问题是它不再被识别为 Git... 如果您遵循选项 #1,该项目将不是 Android 项目。您必须转到项目属性并为项目选择一个 Android 版本。您可能还需要点击 Android->Fix Project Properties。 即使我有同样的问题,最初我使用现有代码将项目导入工作区技术,但是当我创建新工作区并导入项目时,我遇到了问题。所以我尝试了现有项目到工作区的方式,我的问题解决了【参考方案3】:

您必须使用 General->Existing projects into Workspace,而不是从 Android -> Existing Android Code Into Workspace 导入。这可能是一个解决方案。

【讨论】:

【参考方案4】:

今天不小心解决了这个问题:

以下2个步骤可能不涉及但不确定:

    从(Eclipse 菜单)调用*“/Window/Android SDK Manager”并更新 a)“Android SDK 工具”b)“Android SDK 平台工具”包 从 Eclipse 菜单“/Help/Check for Updates”调用并更新 Eclipse。重启 Eclipse。

以下步骤是必要的:

    从 Eclipse 菜单“/File/Import/Android/Existing Android Code Into Workspace” 浏览并选择有问题的项目/或有问题的项目的父目录。 选中“将项目复制到工作区”。 选中“将项目添加到工作集中”。

    按完。

    [可选方案]:如果项目及其包含的文件夹已使用完全限定的包名称重命名,则只需单击项目节点父节点(您会在其中看到项目包名称而不是项目的旧名称) Eclipse 并用旧名称重命名项目。 Eclipse 也会重命名文件夹。

附:在 Eclipse Juno 上测试。

编辑:自从这个答案和新的 Eclipse 和 Android SDK 到来以来已经过去了很多次。他们在导入现有项目时没有更多问题。 在导入之前唯一需要考虑的是将项目文件夹(那些愿意导入的文件夹)移到 Eclipse 工作区目录之外,然后选中复选框(“将项目复制到工作集”、“添加导入向导对话框中的项目到工作集”)。此外,我建议使用最新的 Android SDK 执行此操作,因为它不再使用虚拟名称导入项目,并且不会像在某些自定义案例中那样重命名文件夹。

【讨论】:

【参考方案5】:

我一直在用类似的问题撞墙。唯一有帮助的是遵循this post 中的步骤。

【讨论】:

【参考方案6】:

这个问题也让我发疯,但我知道它的原因是什么。问题是 Eclipse 不够聪明,无法在工作区文件夹中创建与项目同名的文件夹(如果它是自定义的)。

解决此问题的方法是确保您的所有项目都位于名称与您的项目名称匹配的文件夹中,否则它会将您的所有项目文件直接转储到该目录中。您最终看到该错误的原因是因为它认为您正在将一个项目放入另一个项目中(可能读取项目配置文件)。

我注意到当使用默认工作区路径时,这尤其是一个问题。我解决这个问题的方法是将项目名称添加到位置的末尾。因此,假设您将一个名为“HelloWorld”的项目放入 /Users/name/Documents/projects/android/,您需要手动将“HelloWorld”添加到它的末尾,如下所示:/Users/name/Documents/项目/安卓/HelloWorld。这将确保将项目放在它自己的名为“HelloWorld”的文件夹中,而不是放在其他项目中。确保如果有任何项目不在文件夹中,则放入与项目同名的文件夹中以解决错误。

【讨论】:

这是我遇到的问题。它期望工作区与实际项目相距甚远,这对我来说毫无意义,但我知道什么?我只是试着让它快乐。【参考方案7】:

我通过以下步骤解决了这个问题:

1) File -> Import
2) Click General then select Existing Projects into Workspace
3) Click Next
4) Browse the directory of the project

点击完成!

它对我有用

【讨论】:

【参考方案8】:
    将所需代码复制到工作区文件夹之外的某个位置 使用该文件夹中的现有代码创建一个新项目 创建项目后,右键单击它并重构 > 移动 它进入工作区文件夹。 (使用默认位置)

【讨论】:

【参考方案9】:

我通过以下步骤解决了这个问题:

    文件 -> 导入

    单击常规,然后将现有项目选择到工作区

    点击下一步

    浏览项目目录

    点击完成!

它对我有用

【讨论】:

【参考方案10】:

这是我所做的,效果很好。我只是在一般情况下导入了一个现有项目,而不是导入一个android项目。

【讨论】:

【参考方案11】:

您使用的是什么操作系统?我使用 Linux Mint。就我而言,它原来是一个符号链接问题。每次我尝试使用符号链接路径创建项目时,都会出现该错误。在其他地方创建项目,然后将其迁移到符号链接目录为我解决了这个问题。

【讨论】:

【参考方案12】:

解决此问题的最简单方法是将您的项目移动到另一个文件夹并导入它。这是因为您已经在该文件夹中拥有该项目(或同名项目)。而且当你删除项目时,eclipse 仍然会保留对它的引用

【讨论】:

【参考方案13】:

假设你有类似的东西:


/prj/workspace/prj1 /prj/workspace/prj2
并且您的 Eclipse 工作区位于 /prj/workspace 级别(即 /prj/workspace/.metadata)。如果您在导入 prj1 和 prj2 时遇到问题,您可以将 .metadata 移动到其他位置(/prj/.metadata、/prj/eclipse/.metadata 等)或在工作区中创建一个子级别,使其看起来像:
/prj/workspace/android/prj1 /prj/workspace/android/prj2
并再次导入 prj1 和 prj2。换句话说:只要 prj1、prj2 和 .metadata 不在同一级别就可以了。

【讨论】:

【参考方案14】:

我在 Linux 中遇到了这个问题,我重命名、删除并重新导入了一个项目。在 .metadata 中的某个地方,它显然仍然存在。

我终于通过以下步骤解决了:

关闭日食 mv .metadata .metadata_orig 启动 Eclipse 重置默认工作区 重新导入项目

这可能不适用于所有人,尤其是如果您已经在多个工作区中拥有大量项目。但是,如果您习惯于重新配置 Eclipse(我每次升级到下一个 Eclipse 版本时都会这样做),那还不错。

【讨论】:

【参考方案15】:

这个选项解决了我的问题。

链接:http://fledglingsnook.wordpress.com/2012/08/09/eclipse-issue-overlaps-the-location-of-another-project/

【讨论】:

虽然这可能会回答问题,但最好在此处提供实际信息而不仅仅是链接。 Link-only answers are not considered good answers and will probably be deleted.【参考方案16】:

将项目源代码和支持库粘贴到任何其他新创建的文件夹并尝试从那里导入。它对我有用。

【讨论】:

【参考方案17】:

将项目复制到您的工作区,从eclipse文件->新建->项目创建新的同名Android应用程序项目,瞧。

【讨论】:

【参考方案18】:

转到项目的 .project 文件,确保它显示的名称与项目文件夹中显示的名称相同。如果不改名字。它会起作用的。

【讨论】:

【参考方案19】:

有多种情况,但就我而言,我想保留文件夹及其内容,因为它已从 .git 中签出。但是,我需要能够使用 Eclipse 修改源代码和其他内容。

我发现问题在于 .cproject.project 文件的路径信息非常特定于环境(并且与我的环境不匹配)。

我做的是这样的:

    创建了一个新的空文件夹(使用不同的名称)并创建了一个新的 指向该文件夹的工作区。 签出或复制 .git 项目/文件夹到空文件夹中。 然后导入,General,Workspace 中的现有项目。

关键似乎是创建具有不同名称的***空工作空间。

我希望这对某人有所帮助。

【讨论】:

【参考方案20】:

如果您希望通过以下方式从现有源代码打开一个新项目:

File -> Import -> General -> Existing Project into Workspace

您仍然收到“无效的项目描述”消息。 我进去就解决了

File -> Switch Workspace

并选择最近的工作区之一。

【讨论】:

【参考方案21】:

我通过更改文件 > 工作区解决了我的问题,然后在重新启动后再次重置工作区。

【讨论】:

【参考方案22】:

在我的情况下,当我打开 Eclipse 并将我的计算机置于睡眠模式然后醒来工作时,我遇到了错误“无效的项目描述”。我唯一需要做的就是关闭我的 Eclipse 并再次打开它。 我看到当打开 Eclipse 并使计算机进入睡眠或休眠状态时会出现许多其他奇怪的错误!

【讨论】:

以上是关于从现有源创建新项目时 Eclipse“无效项目描述”的主要内容,如果未能解决你的问题,请参考以下文章

从现有源创建android项目后缺少R类[重复]

Visual Studio - 使用从现有源创建项目向导时使用新筛选器而不是新文件夹

如何将现有的 Android 项目导入 Eclipse?

如何在 Eclipse 中打开示例 Android SDK 应用程序

Android Eclipse 导入现有代码

无法从书中导入 Eclipse 中的示例项目