java - : api. jar + impl.jar + bundle.jar 的用途是什么?

标签 java jar

我看到许多 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/

相关文章:

javascript - 我在 NodeJS 中编写了 Mongodb 连接代码,它运行良好,但在 Jmeter 中失败

Java 字符串屏幕下推

java - 我可以在 Maven 中部署配置文件和生成的 jar 吗

java - 如何使用 Netbeans IDE 使用 Java 而不是 Javaw 制作 JAR 文件

java - 我们什么时候需要将源附加到 jar

java - 从 if-then 语句设置整数

java - Java 中 double 的奇怪结果

java - 修改 jar 文件

java - Ant 任务 jar.destfile 中的通配符解决方法

java - Maven - 在同一模块中生成 war 和 fat jar