首页 > 解决方案 > 使用 EJB 客户端 jar 时出现 java.lang.NoClassDefFoundError

问题描述

我有几个通过 EJB 与“核心”项目交互的项目。这些项目中的大多数使用相同的core.ejb.client.jar. 然而,一个项目使用它自己的core.external.ejb.client.jar,这是通过复制该项目所需的唯一 EJB 的文件来制作的。我有一个带有一种方法的 EJB/接口:public Application findApp()

在该方法中,它创建了一个服务实例,并在服务中导入了“代码”类。 core.external.ejb.client.jar包含 weblogic 创建的相关 EJB/接口文件和 Application 类。另一个core.ejb.client.jar包含许多其他类,包括Code.class.

当我的项目调用时findApp(),我收到以下错误,但是没有对myportalCode 类的引用。

OgnlRuntime.callMethod(OgnlRuntime.java:1620) ~[ognl-3.1.15.jar:?] 在 ognl.ASTMethod.getValueBody(ASTMethod.java:91) ~[ognl-3.1.15.jar:?] 在 ognl。 SimpleNode.evaluateGetValueBody(SimpleNode.java:212) ~[ognl-3.1.15.jar:?] at ognl.SimpleNode.getValue(SimpleNode.java:258) ~[ognl-3.1.15.jar:?] at ognl。 Ognl.getValue(Ognl.java:470) ~[ognl-3.1.15.jar:?] at ognl.Ognl.getValue(Ognl.java:434) ~[ognl-3.1.15.jar:?] at com. opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:401) ~[struts2-core-2.5.17.jar:2.5.17] ... 引起:java.lang.NoClassDefFoundError: core/common/business /代码; 在 java.lang.Class.getDeclaredFields0(Native Method) ~[?:1.8.0_152] 在 java.lang.Class.privateGetDeclaredFields(Class.java:2583) ~[?:1.8.

标签: javaejbnoclassdeffounderror

解决方案


好吧,我愚蠢地只搜索 Code 类的导入语句。但是 Application 类和 Code 类在同一个文件夹中,因此不需要 import 语句。Application 类是指代码类,这就是我收到错误的原因。


推荐阅读