java - Eclipse:声明的包与预期的包不匹配
我在导入外部项目时遇到问题。 我将文件 - >导入... - >现有项目导入工作区,选择项目所在的文件夹并导入所有内容 - 但项目的软件包名称似乎不是Eclipse所期望的。 包名都有前缀:
prefix.packagename1
prefix.packagename2
等等
但Eclipse期望
src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2
因为目录是src / prefix1 / prefix / package1
我真的不想乱用外部代码。 如何告诉Eclipse忽略目录“src / prefix1”? 或者我还能做什么?
11个解决方案
92 votes
只需进入构建路径并将源路径更改为src而不是src/prefix1。
右键单击src目录并选择“构建路径/从构建路径中删除”可能最简单,然后找到src/prefix1目录,右键单击它并选择“构建路径/用作源文件夹”。
Jon Skeet answered 2019-09-18T10:32:26Z
59 votes
我刚遇到这个问题,由于Skeet先生的解决方案对我不起作用,我将分享我是如何解决这个问题的。
事实证明我在声明它是源目录之前打开了'src'下的java文件。
右键单击eclipse中的'src'目录后,选择'build path',然后选择'Use as Source Folder'
关闭并重新打开已经打开的java文件(F5刷新它不起作用)。
如果从“prefix1”开始,java文件的路径与文件中的包对齐(例如来自请求者的问题prefix1.prefix.packagename2)。 这应该工作
Eclipse应该不再抱怨'src'。
Kyle Shanafelt answered 2019-09-18T10:33:27Z
10 votes
将您的问题* .java文件移动到其他文件夹。
单击“src”项并按“F5”。
红十字会消失。
将* .java文件返回“package path”,单击“src”项并按“F5”。
一切都应该没问题。
Vlad answered 2019-09-18T10:34:21Z
2 votes
如果您已导入现有项目,则只需删除源文件夹,然后再将它们添加到构建路径,然后重新启动eclipse。 大多数时候eclipse会一直显示错误,直到你重新启动。
Parveen Yadav answered 2019-09-18T10:34:45Z
1 votes
在IDE之外运行失败的构建后发生错误。 如果清理工作区不起作用,请尝试:1)删除所有项目2)关闭并重新启动STS / eclipse,3)重新导入项目
Bradley D answered 2019-09-18T10:35:09Z
0 votes
我有时在导入没有.classpath文件的Android项目时会在Eclipse中遇到此问题。 Eclipse创建的那个与Android期望的不完全相同。 但是,Android .classpath文件通常都是相对的,所以我只是通过不正确的.classpath从另一个项目复制一个正确的.classpath文件。 我创建了一个视频,展示了我是如何做到的:[https://www.youtube.com/watch?v=IVIhgeahS1Ynto]
user3649912 answered 2019-09-18T10:35:34Z
0 votes
假设你的项目有像这样的包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之前的文件夹(我认为)。 但有问题。
然后我从构建路径中删除了文件夹并尝试了文件>导入...>常规>文件系统>单击下一步>从目录>浏览...到名称1上方的文件夹>单击高级按钮>选中在工作区中创建链接>单击完成按钮。
darKoram answered 2019-09-18T10:36:42Z
0 votes
转到项目的src文件夹并将其中的所有代码复制到某个临时位置并构建项目。 现在将实际代码从临时位置复制到项目src。 然后再次运行构建。 问题将得到解决。
注意:这是eclipse特有的。
Deepak Gupta answered 2019-09-18T10:37:13Z
0 votes
唯一对我有用的是删除项目然后再次导入它。 奇迹般有效 :)
Slim answered 2019-09-18T10:37:38Z
0 votes
我刚才遇到了同样的问题。 但是,前几个答案对我不起作用。我提出了一个解决方案:更改.classpath文件。例如,您可以像这样定义classpathentry节点的路径:path =“src / prefix1 / java”或path =“src / prefix1 / resources”。希望它可以提供帮助。
Jack answered 2019-09-18T10:38:02Z
-1 votes
右键单击包含的外部文件夹
src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2
单击构建路径 - >从构建路径中删除。
现在转到项目文件夹部分的文件夹prefix1。
右键单击它 - >构建路径 - >用作源文件夹。
完成。 包文件夹现在不会显示任何错误。 如果仍然显示,只需重新启动项目。
Pramod Shetty answered 2019-09-18T10:38:59Z