在战争中部署ejbs,将其添加到应用服务器的lib目录中

时间:2014-01-30 11:14:35

标签: java java-ee ejb ejb-3.0

我有一个web应用程序,它有一个servlet和一个ejb。 ejb注释为@Local。在我的servlet中,我使用@Inject来注入ejb。它很好。

然后我创建了一个带有ejb模块和web模块的耳朵。我部署了耳朵,我得到了例外。然后我才知道我不能使用@Inject。所以我使用了@Resource(lookup =“jndiname”),然后就可以了。

然后我创建了一个独立的Web应用程序,并使用@Resource注释将ejb注入到servlet中。战争未能加载。所以我想将ejb jar放在app服务器的lib目录中,以便app服务器中的所有应用程序都可以使用它们。我正在使用jboss eap 6.0。我将jar放在jbosshome / modules / com / ejb / beginner / main /下。那没起效。我有例外。然后我将ejb jar放在jbosshome / modules / com / ejb / beginner / api / main /中。仍然没有运气。

我想学习如何创建@Local bean,以便app服务器中的应用程序可以使用。有可能吗?

1 个答案:

答案 0 :(得分:0)

我明白了。如果我想在其他部署中使用另一个耳朵中的模块,我必须像这样在MANIFEST.MF文件中声明依赖项

依赖关系:deployments.appname.ear.appname.jar

以下链接可帮我解决问题

https://community.jboss.org/message/604576 https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7