我有一个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服务器中的应用程序可以使用。有可能吗?
答案 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