【发布时间】:2017-08-29 23:01:10
【问题描述】:
我想找出 java 程序中的操作系统,以便我可以加载正确的本机库。我知道使用System.getProperty("os.name") 是一个选项,但我不想使用它,因为它可以由代码库中的任何人使用System.setProperty("os.name", "foo") 设置。
【问题讨论】:
-
向您的工程师显示this。
标签: java operating-system
我想找出 java 程序中的操作系统,以便我可以加载正确的本机库。我知道使用System.getProperty("os.name") 是一个选项,但我不想使用它,因为它可以由代码库中的任何人使用System.setProperty("os.name", "foo") 设置。
【问题讨论】:
标签: java operating-system
确保从 Java 运行时加载正确的 JNI 库的唯一方法是尝试使用 System.loadLibrary() 加载其中的任何一个并捕获异常,直到正确加载了一个本机库。查找底层操作系统的其他方法只是启发式工具。
【讨论】:
只需使用System.getProperty("os.name"),因为我不认为他们是另一种方法,不要担心setProperty,因为如果您考虑一下,没有人会将其设置为foo 或@987654324 @ 或类似的东西。
【讨论】: