У меня есть несколько проектов, которые взаимодействуют с «основным» проектом через EJB.
В большинстве этих проектов используется один и тот же core.ejb.client.jar
.
Однако один проект использует свой собственный core.external.ejb.client.jar
, который создается путем копирования файлов, предназначенных для единственного EJB-компонента, который требуется для этого проекта.
У меня есть EJB / интерфейс с одним методом: public Application findApp()
Внутри метода он создает экземпляр Services, а внутри Services импортирует класс «Код».
core.external.ejb.client.jar
содержит связанные файлы EJB / interface, которые создает weblogic, и класс Application. Другой core.ejb.client.jar
содержит много других классов, включая Code.class
.
Когда мой проект вызывает findApp()
, я получаю следующую ошибку, однако в myportal
нет ссылки на класс Code.
ОШИБКА org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler - во время обработки запроса возникла исключительная ситуация: сбой метода «execute» для объекта myportal.web.actions.HomeAction@31c178d3
ognl.MethodFailedException: сбой метода «выполнить» для объекта myportal.web.actions.HomeAction@31c178d3
at ognl.OgnlRuntime.callAppresponMethod (OgnlRuntime.java:1556) ~ [ognl-3.1.15.jar :?]
в ognl.ObjectMethodAccessor.callMethod (ObjectMethodAccessor.java:68) ~ [ognl-3.1.15.jar :?]
в com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo (XWorkMethodAccessor.java:98) ~ [struts2-core-2.5.17.jar: 2.5.17]
в com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod (XWorkMethodAccessor.java:90) ~ [struts2-core-2.5.17.jar: 2.5.17]
at ognl.OgnlRuntime.callMethod (OgnlRuntime.java:1620) ~ [ognl-3.1.15.jar :?]
at ognl.ASTMethod.getValueBody (ASTMethod.java:91) ~ [ognl-3.1.15.jar :?]
в ognl.SimpleNode.evaluateGetValueBody (SimpleNode.java:212) ~ [ognl-3.1.15.jar :?]
в 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 :?]
в 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 / Code;
at java.lang.Class.getDeclaredFields0 (собственный метод) ~ [?: 1.8.0_152]
at java.lang.Class.privateGetDeclaredFields (Class.java:2583) ~ [?: 1.8.0_152]
at java.lang.Class.getDeclaredField (Class.java:2068) ~ [?: 1.8.0_152]
at java.io.ObjectStreamClass.getDeclaredSUID (ObjectStreamClass.java:1803) ~ [?: 1.8.0_152]
на java.io.ObjectStreamClass.access $ 700 (ObjectStreamClass.java:79) ~ [?: 1.8.0_152]
в java.io.ObjectStreamClass $ 2.run (ObjectStreamClass.java:494) ~ [?: 1.8.0_152]
в java.io.ObjectStreamClass $ 2.run (ObjectStreamClass.java:482) ~ [?: 1.8.0_152]
at java.security.AccessController.doPrivileged (собственный метод) ~ [?: 1.8.0_152]
в java.io.ObjectStreamClass. (ObjectStreamClass.java:482) ~ [?: 1.8.0_152]
at java.io.ObjectStreamClass.lookup (ObjectStreamClass.java:379) ~ [?: 1.8.0_152]
в java.io.ObjectStreamClass.initNonProxy (ObjectStreamClass.java:669) ~ [?: 1.8.0_152]
at java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1880) ~ [?: 1.8.0_152]
at java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1746) ~ [?: 1.8.0_152]
at java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:2037) ~ [?: 1.8.0_152]
at java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1568) ~ [?: 1.8.0_152]
at java.io.ObjectInputStream.readObject (ObjectInputStream.java:428) ~ [?: 1.8.0_152]
at java.util.ArrayList.readObject (ArrayList.java:797) ~ [?: 1.8.0_152]
at sun.reflect.GeneratedMethodAccessor3.invoke (неизвестный источник) ~ [?:?]at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [?: 1.8.0_152] at java.lang.reflect.Method.invoke (Method.java:498) ~ [?: 1.8.0_152] в java.io.ObjectStreamClass.invokeReadObject (ObjectStreamClass.java:1158) ~ [?: 1.8.0_152] в java.io.ObjectInputStream.readSerialData (ObjectInputStream.java:2173) ~ [?: 1.8.0_152] в java.io.ObjectInputSt.readOrdinaryObject (ObjectInputStream.java:2064) ~ [?: 1.8.0_152] в java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1568) ~ [?: 1.8.0_152] в java.io.ObjectInputStream.readObject (ObjectInputSt.java: 428) ~ [?: 1.8.0_152] at weblogic.rmi.extensions.server.CBVInputStream.readObject (CBVInputStream.java:64) ~ [com.bea.core.weblogic.rmi.client.jar: 12.2.1.3] на weblogic.rmi.internal.ServerRequest.unmarshalReturn (ServerRequest.java:127) ~ [com.bea.core.weblogic.rmi.client.jar: 12.2.1.3] на weblogic.rmi.cluster.ClusterableRemoteRef.invoke (ClusterableRemoteRef.java:555) ~ [com.bea.core.weblogic.rmi.client.jar: 12.2.1.3] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke (ClusterableRemoteRef.java:313) ~ [com.bea.core.weblogic.rmi.client.jar: 12.2.1.3] в core.common.ejb.external.core_ExternalPortlub_Imp_W_1(Неизвестный источник) ~ [core.external.ejbclient.jar :?] at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [?: 1.8.0_152] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMetmpl.java) ~ [?: 1.8.0_152] в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [?: 1.8.0_152] в java.lang.reflect.Method.invoke (Method.java:498) ~[?: 1.8.0_152] на weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke (RemoteBusinessIntfProxy.java:86) ~ [com.oracle.weblogic.ejb.jar: 12.2.1.3] на com.sun.proxy. $Proxy752.getApplicationList (Неизвестный источник) ~ [?:?] На myportal.web.actions.HomeAction.execute (HomeAction.java:58) ~ [_wl_cls_gen.jar :?] на sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)~ [?: 1.8.0_152] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [?: 1.8.0_152] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethod.Iva:?1.8.0_152] в java.lang.reflect.Method.invoke (Method.java:498) ~ [?: 1.8.0_152] в ognl.OgnlRuntime.invokeMethod (OgnlRuntime.java:899) ~ [ognl-3.1.15.jar :?] at ognl.