这是我的情景,
我有一个命令行应用程序,我在运行时使用URL类加载器加载组件。
一切都运行良好,直到油炸部署基于名为rest-assured的库的组件。
在部署方案中,包括rest-guarantee,gson和jackson在内的所有jar都加载在URL类加载器中。
但是,当我创建URL类加载器并加载组件时,我不会更改Thread的上下文类加载器。
保证代码依赖于上下文类加载器来检查gson或Jackson是否在类路径中。
http://grepcode.com/file/repo1.maven.org/maven2/com.jayway.restassured/rest-assured-common/2.3.2/com/jayway/restassured/mapper/resolver/ObjectMapperResolver.java
我有两个问题
- 我没有设置任何上下文类加载器,这是正确的做法吗?
- 假设gson / Jackson类只能在上下文类加载器中使用,那么保证库是否正确?
醇>