2010-01-29 66 views
1

我刚开始学习Java EE并做了一些示例(Just Hello World,稍微复杂一些)。现在我正在为学习目的自己做一个小应用程序。我做了一个EAR,一个EJB和一个WAR,就像in this example一样,但我没有使用接口,而是使用真正的类。在Java EE应用程序中使用来自servlet的bean类

总之,EJB和WAR在同一个包中,但我无法从WAR servlet实例化EJB类,因为它似乎没有找到该类的实现。当试图在我的servlet中实例化一个名为“Database”的类时,我从Eclipse中得到以下错误:

Database cannot be resolved to a type 

它也发生在其他类中。

有什么想法?非常感谢你。

+0

事情并不清楚。你是什​​么意思*“EJB和WAR在同一个包中”*?你是什​​么意思*“我不能实例化一个EJB”*,你怎么做到这一点?什么是数据库类?你能澄清这些问题吗?也许显示一些代码? – 2010-01-29 15:43:35

+0

对不起Pascal,我很难做出更好的解释,因为这些概念对我来说是非常新的。无论如何,Kaleb明白了并且正确回答了。谢谢。 – Silas 2010-01-29 15:47:52

+0

没问题,特别是如果问题解决了(EJB可能不是简单的起点BTW)。祝你好运。 – 2010-01-29 15:49:41

回答

2

这听起来像你可能没有设置模块依赖关系。 WAR项目需要将EJB项目作为模块依赖项。

右键单击WAR项目,单击属性,单击Java EE Module Dependencies并验证是否已选择EJB。

模块依赖关系表示在每个Java EE组件的MANIFEST.MF文件中。该文件包含所依赖的所有组件的名称,并且Java EE Module Dependencies编辑器更新该文件。