我有一个依赖 jar,对于构建 A,dependency.jar 将包含 A、B、C、D 类。对于构建 B,dependency.jar 将仅包含类 A、B、C
问题:
资料来源:我的代码正在使用所有 A、B、C、D 类。
目标:我编写的代码对于构建 A 和 B 应该保持不变。
问题:但显然 D 类在 Build B 中不可用。所以我的代码应该处理 D 类的可用性。同时,我要添加的额外代码来处理 D 类的可用性,不应该放慢速度我的代码。
请提出可能的解决方案。
一种解决方案:我们将使用 Class.forName() API 来检查类的可用性。
解决方案的问题:如果 classdefnotfound 不可用,API 每次都会抛出它,并且根据我的理解 class.forName 将尝试加载该类,所以会很慢。
注意:D 类是可选的,如果不可用,则应禁用与该类相关的功能