我们使用汇总功能构建了一些库,并且这些库之间存在依赖关系。
例如我们构建定义了几个类的库A。
导出类Foo {..}
库B实现扩展库A的类。 例如
从“ A”导入{Foo} Bar类扩展了Foo {..}
库C使用'instanceof'检查库A中的类实例。
从“ A”导入{Foo}
如果(Foo的一个实例)...做东西
然后某些Web应用程序加载A,B和C,因为它需要与所有3个库中定义的类进行交互。 我们建立了一组利用我们的工具库的应用程序。
问题在于,是否以任何方式更新了库A。即使是较小的错误修复。 库B和C也必须重新发布,否则事情就会开始失败。 我认为汇总所做的事情是多次加载类A,对于找到的每个构建一次。仅当所有构建均相同时,才会加载A。
这会导致一切严重失败。 我们的解决方案是在释放任何依赖库时不断重新释放所有依赖库,但这是一个负担,并导致在依赖库上产生多余的发布负载。
是否总有一些方法可以使汇总在跟踪依赖项方面得到更多的宽容?理想情况下,小的补丁更新可以被认为是相同的,并且不会导致库在内存中多次加载。