我知道我们可以使用System.getProperty("os.name");
来获得操作系统名称。但是由于某种原因,有人设置了一个名为JAVA_TOOL_OPTIONS="-Dos.name=Windows 7"
的环境变量,该变量导致未获取原始操作系统名称,而是始终将其操作系统名称获取为Window7。
我们有什么方法可以获取原始的操作系统详细信息?
答案 0 :(得分:1)
您可以使用Apache Commons Lang,类名称为SystemUtils
。您可以使用以下代码。
String osName = SystemUtils.OS_NAME;
System.out.println("OS NAME: " + osName);
您必须在类路径中添加Apache Commons Lang。
如果没有任何效果,则必须逐一执行特定于OS的命令,直到获得正确的结果。但这不是正确的方法,只是一种解决方法。
对于Windows,执行ver
对于Linux,请执行cat /etc/*-release
或lsb_release -a