运行我的应用程序时出现如下错误。应用程序运行正常,但一个方法抛出此错误
> Caused by: java.lang.NoClassDefFoundError:
> com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection
> at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.<init>(HttpsURLConnectionOldImpl.java:82)
> at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Handler.java:53)
> at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Handler.java:49)
> at java.net.URL.openConnection(URL.java:981)
> at benefit.com.aciworldwide.commerce.gateway.plugins.e24PaymentPipe.sendMessage(e24PaymentPipe.java:562)
> at benefit.com.aciworldwide.commerce.gateway.plugins.e24PaymentPipe.performPaymentInitialization(e24PaymentPipe.java:400)
> at com.mobile.payment.BEOPayment.initBEOPayment(BEOPayment.java:76)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:613)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
> at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
知道为什么会这样吗?
答案 0 :(得分:0)
最有可能是由于冲突造成的。
首先在war文件中找到包含此类文件的jar名称,然后使用tattletale知道哪个jar有冲突。 希望这能解决您的问题
如果您在linux中,请尝试运行此命令以了解其他jar中是否存在相同的类
jar -tvf *.jar | grep -i DelegateHttpsURLConnection