为什么不使用内部库并使用原始库? [关闭]

问题描述 投票:-1回答:2

我在项目中使用的是Guava内部库:

import org.glassfish.jersey.internal.guava.HashBasedTable;
import org.glassfish.jersey.internal.guava.Table;

建议我不要使用这些内部文件,而应使用原始库。

是否有不使用内部构件的特殊原因,我的意思是法律上的问题?

java guava
2个回答
2
投票

内部软件包不应该由库的客户端直接使用。

该库的开发人员没有义务保持内部软件包的向后兼容性,他们甚至可能在将来的版本中取消内部软件包的某些类,而将其替换为其他类。

如果您的代码依赖于内部软件包,则在升级到库的未来版本时,很有可能被破坏。


2
投票

使用内部库的问题通常与法律限制无关,而与可支持性和兼容性有关。

内部库仅被设计为内部库,它们的作者和维护者将它们这样对待,即它们可能会进行重大更改(甚至完全删除功能)而不会发出通知。如果您升级正在使用的库,则使用此类库的应用程序可能会中断。

© www.soinside.com 2019 - 2024. All rights reserved.