为了解决我的应用程序中的jar冲突,我使用了阴影插件的重新定位功能。它对我有用,但我觉得这是一次黑客攻击。我想了解使用搬迁功能(如果有的话)的缺点。
发布于 2018-12-10 18:01:28
主要问题是,在直接定义包名(而不仅仅是导入)的情况下,它可能会失败。例如,如果使用反射并按类名(包括包名)实例化类,则会生成错误的类。当包在清单中定义时也会发生类似的问题(有一个转换程序)。有关更多信息,请参见插件信息。
另一个可能出现问题的地方是使用相同依赖关系的第三方依赖。例如,请考虑提供的包A。如果包A依赖于重新定位的包,它将在运行时使用提供的实例而不是重新定位的实例。这可能导致不可预见的影响。
另一个问题是,在某些情况下,包可能包含一些初始化/静态信息(例如,它下载一些信息一次或有一些大的静态表)。在这些情况下,重要的是要理解现在有两个完全独立的包实例。
https://stackoverflow.com/questions/53710931
复制相似问题