来自servlet的JBoss5AS和EJB3bean注入?

来自servlet的JBoss5AS和EJB3bean注入?,jboss,ejb-3.0,java-ee-5,Jboss,Ejb 3.0,Java Ee 5,据我所知,JBossas5.x在带有@EJB3注释的servlet中支持EJB3bean注入。我正在使用JBossas5.0.1.GA的默认配置,但它不起作用。我已经使用会话bean JNDI名称将mappedName参数添加到@EJB注释中,但它什么都不做。没有明显的错误,bean只是从未被注入 会话bean在ejbjar中,servlet在战争中,所有东西都打包在ear中。手动JNDI查找工作正常。有什么想法吗?如果您的web.xml指向规范的旧版本,则可能会出现这种情况。理想情况下,它应该

据我所知,JBossas5.x在带有@EJB3注释的servlet中支持EJB3bean注入。我正在使用JBossas5.0.1.GA的默认配置,但它不起作用。我已经使用会话bean JNDI名称将mappedName参数添加到@EJB注释中,但它什么都不做。没有明显的错误,bean只是从未被注入


会话bean在ejbjar中,servlet在战争中,所有东西都打包在ear中。手动JNDI查找工作正常。有什么想法吗?

如果您的web.xml指向规范的旧版本,则可能会出现这种情况。理想情况下,它应该是

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/j2ee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">


这可能也有点帮助。

您还应该检查classpath.jar文件中EJB3部署所需的jar文件是jboss-EJB3-ext-api.jar。

谢谢!一个小小的警告是,名称空间应该是,而不是。所以我改为:xmlns=”“xsi:schemaLocation=“web-app_2_5.xsd”