java – 当Thread.currentThread().getContextClassLoader()返回
发布时间:2020-12-15 02:21:47 所属栏目:Java 来源:网络整理
导读:从包含/ META-INF中的JAX-WS SPI文本文件的JAR文件开始,然后是它指向的类.把它放到类路径中.将当前线程的contextClassLoader设置为null. 从JDK 1.6中的JAX-WS API调用Service类,然后开始逐步执??行它.在没有上下文类加载器的情况下,此代码将调用Class的静态
从包含/ META-INF中的JAX-WS SPI文本文件的JAR文件开始,然后是它指向的类.把它放到类路径中.将当前线程的contextClassLoader设置为null.
从JDK 1.6中的JAX-WS API调用Service类,然后开始逐步执??行它.在没有上下文类加载器的情况下,此代码将调用Class的静态方法来查找内容. 它将成功找到SPI文件.但它找不到它命名的.class. 如果您真的想亲自尝试一下,请抓住Apache CXF 2.2.10,将它放在类路径上,并将上下文类加载器置空. 这不是一个毫无意义的受虐狂的练习:事实证明,当Open Office调用Java扩展(‘UNO’)时,它会使上下文类加载器为null.需要一些重要的直肠学考古学来解决这个问题.这让我想知道,是否有一个JDK错误解释了不一致的结果,或一些我不理解的指定行为? 解决方法
为此类事件提出了各种各样的错误;例如扫描
this query的结果.一般的Sun响应是这些功能不是错误,并且不会被修复;例如
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4155645.
底线是getContextClassLoader可以返回null. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |