
1 czzt1 Sep 21, 2020 不需要处理的吧,直接可以跨平台的 |
2 wanglulei Sep 21, 2020 jvm 了解一下,java 如何实现跨平台? |
3 wysnylc Sep 21, 2020 去了解下 JVM 跨平台 |
4 enenaaa OP @czzt1 oracle jdk1.8 的 linux 版本有 sun.awt.X11 包,windows 版本没有。 我现在是想在 linux 用这个包, 在 windows 上用其他方式代替。 在代码里怎么屏蔽差异? import 可以按条件区分平台么。 |
5 InkStone Sep 21, 2020 你可以在构建工具上下功夫。比如 gradle 就支持不同的 flavor 使用不同的源代码…… |
6 chendy Sep 21, 2020 不知道这个类是干啥的,但是明显 win 下是木有的,所以 1. 换可以跨平台的实现方式 2. 不同平台不同实现,运行时判断环境使用特定实现 |
7 DsuineGP Sep 21, 2020 把不同平台的依赖都打包进去,运行时再根据平台判断加载哪个库 |
8 palmers Sep 21, 2020 可以使用 SPI 来做 然后做一个具体平台的 provider 引入 |
9 limuyan44 Sep 21, 2020 你要不试试 Class.forName("sun.awt.X11") |
10 heian0224 Sep 21, 2020 via Android 用注解处理器编译器处理 |
11 lewis89 Sep 21, 2020 javassit 可以在运行时 修改代码 拼接代码 |
13 Kaiv2 Sep 21, 2020 via Android 应该是动态类加载 |
14 Citrus Sep 21, 2020 为啥要反射???用的时候做个判断,找不到这个类不要报错直接跳过这段逻辑不就好了? |
16 heian0224 Sep 22, 2020 via Android 反射效率不高的。 |