java - Weblogic12c部署EJB不明确错误

标签 java jakarta-ee deployment ejb weblogic12c

我正在尝试在 Weblogic 12c 中部署该应用程序。在部署过程中,我收到以下错误

weblogic.management.DeploymentException: weblogic.application.naming.ReferenceResolutionException: [J2EE:160092]Error: The ejb-link "BeanClass" declared in the ejb-ref or ejb-local-ref "...BeanClassService/beanClass" in the module "....EJB.jar" is ambiguous. Qualify this ejb-link to remove the ambiguity.

代码:

IBeanClass.java

@Local

public interface IBeanClass {}

BeanClass.java

@Stateless(name = "BeanClass")

@PermitAll

public class BeanClass implements IBeanClass { ...... }

IBeanClassService.java

@Local

public interface IBeanClassService { ......... }

BeanClassService.java

@Stateless(name = "BeanClassService")

public class BeanClassService implements IBeanClassService {

@EJB(beanName = "BeanClass")

private IBeanClassService beanclass;

... }

我正在从 Web 应用程序项目调用 EJB:

ClientClass.java

public class ClientClass{ ....

@EJB(beanName = "BeanClassService")

private IBeanClassService beanclass;

..... }

代码在 weblogic10 中工作正常,但现在在 weblogic 12 中出现异常。请帮助解决此问题。

最佳答案

BeanClass 不是 IBeanClassService,因此即使按照基本的 java 约定,您也无法将 IBeanClass 对象分配给该变量,更不用说将 EJB 注入(inject)到该位置了。你应该拥有的是

  @EJB(beanName = "BeanClass")

  private IBeanClass beanclass;

关于java - Weblogic12c部署EJB不明确错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25282983/

相关文章:

java - Spring Boot 与 JAX-RS (ReSTLet) 的简单微服务对比

java - 正则表达式 - 在匹配字符串之间分割字符串

java - 连接未返回 tomcat 池

java - 使用 Weblogic JSPServlet 查看 JSP

grails - 使用Weceem插件在Grails中创建可部署的 war

perl - 将 Perl 部署到无共享集群

java - 从批处理文件中独立执行 Jar

java - 我根本不了解@Resource mappedName 元素

java - org.apache.derby.jdbc.ClientDriver 在哪里?

java - 如何从 swing 代码获取任何应用程序的根安装目录?