我看到许多 Java 包都有 api、impl 和 bundle jar(name-api.jar、name-impl.jar、name-bundle.jar)。有人可以解释这些是什么意思吗?应用程序需要这三个吗?
最佳答案
这个想法是你可以分离应用程序的依赖关系;试图使应用程序更具可移植性。这个想法是您可以在编译时使应用程序依赖于 api.jar
。然后,当您想要运行该程序时,您可以切换到适当的实现 jar (impl.jar
) 和适当的资源包 jar (bundle.jar
)。
举个例子,假设图书馆进行一些数据库交互。您编写代码以使其引用 api.jar
。现在假设您需要它来处理特定类型的数据库,例如MySQL - 然后您可以将特定于 MySQL 数据库的 impl.jar
添加到类路径中以使其工作(如果您以后需要不同的数据库 - 您只需要在类路径中切换该 jar ).
bundle.jar
有点晦涩,也不常见。这可用于为库提供配置设置。例如,它可用于提供特定于语言的设置,或一些更具体的配置。在数据库库的情况下,实现可能是为所有版本的 MySQL 设计的,资源包 jar 提供允许它为特定 MySQL 版本工作的配置文件。
关于java - : api. jar + impl.jar + bundle.jar 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9819529/