问题
- 我们的网络应用程序创建了一个
java.net.URL
将我们的自定义实现传递URLStreamHandler
给构造函数。 - 在该 URL 上,我们调用
url.openConnection()
. java.net.URL
代码调用我们的openConnection()
处理程序。- 在这一点上,我们得到了
NoClassDefFoundError
一个处理程序使用的类。
Glassfish 3.1 会发生这种情况,但 Tomcat、WebLogic 和 JBoss 不会发生这种情况。(此外,它曾经在旧版本的 Glassfish 上工作。)
我试过的
我尝试添加一个glassfish-web.xml
来告诉 Glassfish 首先从 Web 应用程序加载类(如预期的那样),但这并不能解决问题。
<glassfish-web-app>
<class-loader delegate="false"/>
</glassfish-web-app>
我该如何解决这个问题,为什么会这样?