之前我已经看过这个主题,但它总是引用一个Web应用程序。
我创建了一个EJB会话bean来包装AWS Messaging API。特别是snsClient.publish()调用。我成功部署了bean,但是当我运行客户端时,我收到以下错误。
javax.ejb.EJBException: EJB Exception: ;
nested exception is: java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;;
nested exception is: java.rmi.RemoteException: EJB Exception: ;
nested exception is: java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;
java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at webblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at gov.dot.fmcsa.fens.messaging.MessagingSessionEJB_8dyj1s_MessagingSessionEJBImpl_1035_WLStub.SendSMS(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
这是因为使用Weblogic部署的旧版本库。我知道我需要指定包含的类。
我尝试将首选软件包添加到weblogic_application.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.1/weblogic-application.xsd"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-application">
<prefer-application-packages>
<package-name>org.joda.time.*</package-name>
</prefer-application-packages>
</weblogic-application>
我也尝试将该类添加到共享库引用。