例如:我正在制作一个Web项目。在一个servlet的某一行,我输入以下行:
ContatoDao dao = new ContatoDao();
所以Eclipe抱怨ContatoDao
无法找到。它是对的;这个班是另一个包。因此,为了测试,我将contatoDao
复制到了当前类的同一目录中(也将它的包更改为当前类的同一个包)。但我一直收到这个错误:
HTTP Status 500 - Servlet execution threw an exception
(...)
root cause
java.lang.Error: Unresolved compilation problems:
ContatoDao cannot be resolved to a type
ContatoDao cannot be resolved to a type
如果我在同一个地方创建相同的课程但使用Eclipe的创建课程,那么不会发生。为什么呢?
答案 0 :(得分:0)
在Eclipse Project Explorer中,右键单击Project并单击' Properties'。然后点击“Java Build Path'检查来源'选项卡以查看构建路径上的'源文件夹'。确保列出源代码所在的文件夹。
此外,还要检查“订单和导出”。选项卡并确保在此处列出并选择包层次结构根目录中的文件夹。
答案 1 :(得分:0)
相对于当前套餐,进口不是,也不可能。
如果您的顶级包toppackage
包含包含subpackage
类的包ContatoDao
,那么要导入ContatoDao
,您必须使用:
import toppackage.subpackage.ContatoDao;
无论您从导入哪个班级(即使是toppackage
或toppackage.othersubpackage
中的班级)。