[英]How can I get my java compiler to recognize an Older Version of OpenJFX for Java 8 on Ubuntu Linux?
[英]How can I get Ubuntu version using Java?
我正在尝试使用Java获取Ubuntu版本,但是存在问题。
使用System.getProperty("os.version")
,它返回内核版本。
您可以使用以下命令在Java类中运行任何终端命令(如lsb_release -a
):
Runtime.getRuntime().exec("lsb_release -a");
并解析输出
编辑:清除解决方案
String[] args = new String[] {"/bin/bash", "-c", "lsb_release -r", "with", "args"};
Process proc = new ProcessBuilder(args).start();
注意:您需要使用lsb_release -r仅获取版本。
Java在其文档中为操作系统定义了以下系统属性,但没有一种适合您的情况。
"os.arch" -Operating system architecture "os.name" -Operating system name "os.version"-Operating system version
您将必须使用这样的Java代码执行lsb_release -a
命令。
Runtime.getRuntime().exec("lsb_release -a");
这将为您提供如下输出。
没有可用的LSB模块。
发行人ID:LinuxMint
说明:Linux Mint 18.1 Serena
发行:18.1
代号:serena
您可以解析它并获取输出。
以下是实现您的目标的代码段:
String version = (new BufferedReader(new InputStreamReader((new ProcessBuilder("lsb_release", "-rs")).start().getInputStream()))).readLine();
System.out.println(version);
这两行显示如下内容:
14.04
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.