Java ServiceLoader在开发期间如何工作? (构建JAR之前的单元测
发布时间:2020-12-15 08:34:18 所属栏目:Java 来源:网络整理
导读:Java的ServiceLoader需要这些条目存在于JAR文件中.有没有办法在运行时以编程方式添加这些服务条目以进行单元测试?尤其是当JAR尚未建成时. 解决方法 不要太专注于JAR文件.它们是封装服务的首选方式,但它们不是必需的.密钥实际上是 ClassLoader.getResources(
Java的ServiceLoader需要这些条目存在于JAR文件中.有没有办法在运行时以编程方式添加这些服务条目以进行单元测试?尤其是当JAR尚未建成时.
解决方法
不要太专注于JAR文件.它们是封装服务的首选方式,但它们不是必需的.密钥实际上是
ClassLoader.getResources(String) – String arg实际上变为(“META-INF / services /”serviceClass.getName()).要记住的另一点信息是
ServiceLoader.load(Class) 使用
context class loader(当然,您也可以使用
ServiceLoader.load(Class,ClassLoader) ).所以…你真正需要做的是操纵类路径或配置上下文类加载器,以使ServiceLoader满意.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |