我在导入外部项目时遇到问题。我去文件 - >导入... - >将现有项目导入Workspace,选择项目所在的文件夹并导入所有内容 - 但项目的包名称似乎不是Eclipse所期望的。包名都有前缀:
prefix.packagename1
prefix.packagename2
等
但Eclipse期望
src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2
等。因为目录是src / prefix1 / prefix / package1
我真的不想搞乱外部代码。如何告诉Eclipse忽略目录“src / prefix1”?或者我还能做什么?
答案 0 :(得分:95)
只需进入构建路径并将源路径更改为src/prefix1
而不是src
。
右键单击src
目录并选择“构建路径/从构建路径中删除”可能最简单,然后找到src/prefix1
目录,右键单击它并选择“构建路径” /用作源文件夹“。
答案 1 :(得分:60)
我刚遇到这个问题,由于Skeet先生的解决方案对我不起作用,我将分享我是如何解决这个问题的。
事实证明我在声明它是源目录之前在'src'下打开了java文件。
右键单击eclipse中的'src'目录,选择'build path',然后'Use as Source Folder'
关闭并重新打开已经打开的java文件(F5刷新它不起作用)。
如果从“prefix1”开始到java文件的路径,则与文件中的包对齐(例如来自请求者的问题prefix1.prefix.packagename2)。这应该工作
Eclipse不再抱怨'src'。
答案 2 :(得分:10)
将您的问题* .java文件移至其他文件夹。
点击'src'项目,然后按“F5”。
红十字会消失。
将* .java文件返回“package path”,单击“src”项并按“F5”。
一切都应该没问题。
答案 3 :(得分:2)
如果您已导入现有项目,则只需删除源文件夹,然后再将其添加到构建路径,然后重新启动eclipse。大多数时候,eclipse会一直显示错误,直到你重新启动。
答案 4 :(得分:1)
在IDE之外运行失败的构建后发生错误。如果清理工作区不起作用,请尝试:1)删除所有项目2)关闭并重新启动STS / eclipse,3)重新导入项目
答案 5 :(得分:0)
假设您的项目有一个类似的包
package name1.name2.name3.name4
(声明的包裹)
您的包浏览器显示
包顶级名为name1.name2
名为name3.name4的子包
您将遇到错误,因为Eclipse从您导入的点开始从磁盘上的文件目录结构中提取包名称。
我的案例涉及得更多,也许是因为我使用了符号链接到工作区外的文件夹。
我首先尝试使用Build Path.Java Build Path.Source Tab.Link Source Button.Browse到package.Folder-name中name1之前的文件夹(我认为)。但是有问题。
然后我从构建路径中删除了该文件夹并尝试了File>导入...>一般>文件系统>单击“下一步”>来自目录>浏览...到name1>以上的文件夹点击高级按钮>选中在工作区中创建链接>单击“完成”按钮。
答案 6 :(得分:0)
有时在导入没有.classpath文件的Android项目时,我在Eclipse中遇到此问题。 Eclipse创建的那个与Android期望的不完全相同。但是,Android .classpath文件通常都是相对的,所以我只是通过不正确的.classpath从另一个项目复制一个正确的.classpath文件。我创建了一个视频,展示了我如何执行此操作:https://www.youtube.com/watch?v=IVIhgeahS1Ynto
答案 7 :(得分:0)
转到项目的src文件夹并将其中的所有代码复制到某个临时位置并构建项目。现在将实际代码从临时位置复制到项目src。然后再次运行构建。问题将得到解决。
注意:这是eclipse特有的。
答案 8 :(得分:0)
唯一对我有用的是删除项目,然后再次导入。像魅力一样工作:)
答案 9 :(得分:0)
我刚才遇到了同样的问题。但是,前几个答案对我不起作用。我提出了一个解决方案:更改 .classpath 文件。例如,您可以定义 classpathentry节点的路径像这样:path =" src / prefix1 / java" 或路径=" src / prefix1 / resources"。 希望它可以提供帮助。
答案 10 :(得分:0)
对我来说,问题是我正在将现有项目转换为maven,根据文档创建了文件夹结构,并且将“ main”文件夹显示为软件包的一部分。我遵循类似于Jon Skeet / JWoodchuck的说明,进入Java构建路径,删除了所有损坏的构建路径,然后将构建路径分别添加为“ src / main / java”和“ src / test / java”作为每个资源的文件夹,它解决了该问题。
答案 11 :(得分:0)
构建路径应包含软件包名称之前的'till before'路径。
例如,如果文件夹结构为:src/main/java/com/example/dao
如果包含导入语句的类'package com.example.dao'
抱怨包错误,则构建路径应include:src/main/java
这应该可以解决问题。
答案 12 :(得分:-1)
{ "_id" : ObjectId("56803181bf244c701d000170"), "category_id" : "65", "name" : "Names", "expandable" : false, "inputAsTree" : true, "multiSelect" : true, "mandatory" : false, "version" : 9, "createTime" : 1451240000.0000000000000000, "lastUpdateTime" : 1451280000.0000000000000000, }
点击构建路径 - >从构建路径中删除。
现在转到项目文件夹部分的文件夹prefix1。
右键单击它 - >构建路径 - >用作源文件夹。
完成。包文件夹现在不会显示任何错误。如果仍然显示,只需重新启动项目。