Tomcat启动时的一个诡异问题

实现了一个方法A,A中调用了一些第三方接口,该接口内部细节未知,大体的作用是建立一个双向SSL连接。



情景1

写了一个main,调用了A方法,得到理想返回



情景2

这个方法的调用由Servlet的init发起,抛出ClassCastException:sun.net.www.protocol.https.HttpsURLConnectionImpl cannot be cast to iaik.protocol.https.HttpsURLConnection



目前可以确定的是tomcat和eclipse环境是一样的,导入的jar包是一样的



是tomcat干了什么事?
问题补充

xuyao 写道
A方法是什么?你很明显不是http协议的调用


为什么要是http协议的调用?

A方法的内容有关系么?同一个方法,2次调用,一次成功一次异常,中间没有任何动态的内容。

很可能是你的jar load顺序问题。要么改变你class loader顺序,要么象下面那样强制指定类。告诉tomcat要用哪个URLStreamHandler:

URL u = new URL(null, "https://...";, new iaik.protocol.https.Handler());

A方法是什么?你很明显不是http协议的调用