I am trying to create a new project from existing source code. I keep getting the following error: "Invalid Project Description", project path "overlaps the location of another project" with the same name. The reason is that I created that project from the source code before, but then I deleted that project and deleted its whole directory, before adding the source code directory again. I tried everything like cleaning and restarting, but nothing worked. I looked in my workspace directory, but there are no traces for the old project. There are several questions around this problem such as this Attempting Android Notepad Tutorial - Exercise 1 - More problems, but none of the answers worked for me!


当前回答

Suppose you have something like: /prj/workspace/prj1 /prj/workspace/prj2 And your eclipse workspace is in /prj/workspace level (i.e. /prj/workspace/.metadata). If you're having problem importing prj1 and prj2, you can either move your .metadata somewhere else (/prj/.metadata, /prj/eclipse/.metadata, etc.) or create a sub level in workspace so that it looks like: /prj/workspace/android/prj1 /prj/workspace/android/prj2 And import prj1 and prj2 again. In another word: as long as prj1, prj2, and .metadata are not in the same level it will be fine.

其他回答

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

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

close Eclipse
mv .metadata .metadata_orig
start Eclipse
reset default workspace
reimport projects

这可能并不适用于每个人,特别是如果您已经在多个工作区中有许多项目。但是如果您习惯了重新配置Eclipse(我每次升级到下一个Eclipse版本时都会这样做),那就不太糟糕了。

有各种各样的场景,但在我的例子中,我想保留文件夹及其内容,因为它已经从.git中签出。但是,我需要能够使用Eclipse修改源代码和其他内容。

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

我所做的是:

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

关键似乎是用不同的名称创建顶层的空白工作空间。

我希望这能帮助到一些人。

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

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

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

将需要的代码复制到工作区文件夹之外的某个地方 使用该文件夹中的现有代码创建一个新项目 项目创建后,右键单击它并重构> Move 把它放到工作区文件夹中。(使用默认位置)