我刚开始学习Java EE并做了一些例子(Just Hello World,有些更复杂)。现在我自己做一个小应用程序用于学习目的。我创建了一个EAR,一个EJB和一个WAR,就像in this example一样,但我没有使用接口,而是使用真正的类。
总之,EJB和WAR位于同一个包中,但我无法从WAR servlet实例化EJB类,因为它似乎没有找到该类实现。当我尝试在我的servlet中实例化一个名为“Database”的类时,我从Eclipse中得到以下错误:
Database cannot be resolved to a type
其他课程也会发生这种情况。
有什么想法吗?非常感谢你。
答案 0 :(得分:2)
听起来您可能没有设置模块依赖项。 WAR项目需要将EJB项目作为模块依赖项。
右键单击WAR项目,单击Properties,单击Java EE Module Dependencies,然后验证是否已选择EJB。
模块依赖关系在每个Java EE组件的MANIFEST.MF文件中表示。该文件包含它所依赖的所有组件的名称,Java EE Module Dependencies编辑器更新该文件。