Eclipse:声明的包与预期的包不匹配

我有一个导入外部项目的问题。 我去文件 – >导入… – >现有的项目到工作区,select项目所在的文件夹,一切都被导入 – 但项目的包名称似乎不是Eclipse的期望。 包名称都有一个前缀:

prefix.packagename1 prefix.packagename2 

等等

但Eclipse预计

 src.prefix1.prefix.packagename1 src.prefix1.prefix.packagename2 

等等,因为目录是src / prefix1 / prefix / package1

我真的不想乱用外部代码。 如何让Eclipse忽略目录“src / prefix1”? 或者我还能做什么?

只要进入构buildpath和源path是src/prefix1而不是src

右键单击src目录并select“Build Path / Remove from build path”,然后findsrc/prefix1目录,右键单击并select“Build Path / Use as source folder”。

我刚刚遇到了这个问题,既然Skeet先生的解决scheme不适合我,我会分享我是如何解决这个问题的。

事实certificate,在声明它为源目录之前,我在“src”下打开了java文件。

在eclipse中右键点击'src'目录后,select'build path',然后'用作源文件夹'

closures并重新打开打开的java文件 (F5刷新它不起作用)。

如果从“prefix1”开始,java文件的path与文件中的包(请求者的问题prefix1.prefix.packagename2中的示例)保持一致。 这应该工作

Eclipse不应该再抱怨'src'。

将您的问题* .java文件移动到其他文件夹。

点击“src”项并按“F5”。

红十字会消散。

返回你的* .java文件到“包path”,点击“src”项并按“F5”。

一切都应该没问题。

如果你已经导入了一个现有的项目,那么只需要删除你的源文件夹,然后再添加它们来构buildpath,然后重启eclipse。 大多数时候日食会一直显示错误,直到你重新启动。

我有时在导入没有.classpath文件的Android项目时遇到这个问题。 Eclipse创build的不完全一样,Android预期。 但是,Android的.classpath文件通常都是相对的,所以我只是从另一个项目复制正确的.classpath文件到不正确的.classpath。 我制作了一个video,演示了如何执行此操作: https : //www.youtube.com/watch?v = IVIhgeahS1Ynto

假设你的项目有一个类似package name1.name2.name3.name4 (声明包)

你的包浏览器显示
包顶层名为name1.name2
子包名为name3.name4

您将会遇到错误,因为Eclipse会从您从中导入的点开始从磁盘上的文件目录结构中提取软件包名称。

我的情况有一点涉及,也许是因为我正在使用一个符号链接到我的工作区外的文件夹。

我第一次尝试生成Path.Java生成path。源标签。链接源button。浏览到名称之前的文件夹在您的package.Folder名称,只要你喜欢(我认为)。 但有问题。

然后我从构buildpath中删除文件夹,并尝试文件>导入…>常规>文件系统>单击下一步>从目录>浏览…到文件夹上面name1>单击高级button>检查创build工作区中的链接>单击完成button。

转到项目的src文件夹,并将其中的所有代码复制到某个临时位置并构build项目。 现在将实际的代码从临时位置复制到项目src。 再次运行构build。 问题将得到解决。

注意:这是eclipse特有的。

在IDE之外运行失败的构build后,发生在我身上。 如果清理工作区不起作用,请尝试:1)删除所有项目2)closures并重新启动STS / eclipse,3)重新导入项目

唯一的工作是我删除该项目,然后再次导入。 奇迹般有效 :)

  1. 右键单击正在打包的外部文件夹
 src.prefix1.prefix.packagename1 src.prefix1.prefix.packagename2 
  1. 单击生成path – >从生成path中删除。

  2. 现在去你的项目文件夹部分的文件夹prefix1。

  3. 右键点击它 – >生成path – >用作源文件夹。

  4. 完成。 包文件夹现在不会显示任何错误。 如果仍然显示,只需重新启动项目。