java - 不同环境的不同导入依赖
问题描述
我有一个 JAR,它需要java.time
包提供的一些类,这些类在 Java 8 及更高版本中可用。
但是,JAR 还需要在 Android 上可用,而 Androidjava.time
只能在 API 26 及更高版本上使用(我还需要支持较低的 API)。
我可以简单地使用threetenbp,它是最可移植的,并且提供了具有相同类和成员名称的兼容实现(实际上只是提供 JAR 和更改导入包的问题)。
但是,这不是很有效,尤其是在 Android 上,建议使用修改版的threetenbp。
现在这给我留下了至少两种不同的包选择,具体取决于我正在构建的环境:在 JDK 上使用java.time.*
,在 Android 上使用org.threetenb.bp.*
。
有没有一种方法可以做到这一点而不必维护我的课程的两个版本?
解决方案
推荐阅读
- r - 为什么我不能在 ggplot2 中绘制平滑曲线
- android - 在 Kotlin 中运行任务时如何绘制布局
- sitefinity - sitefinity 后端页脚与内容重叠
- javascript - 引导导航栏下拉菜单闪烁/不起作用
- reactjs - 尝试导入错误:'persistor' 未从 './redux/store' 导出
- html - xmlns 在 XHTML 的 HTML 标记中做了什么
- testing - 我无法使用 tsung 工具解释来自控制台的消息
- wordpress - 帖子类型分类未显示在古腾堡
- javascript - 什么是 Webtorrent 中仅浏览器的方法错误?
- momentjs - moment.js 使用 dd-mm-yyyy 格式比较日期