答案实际上很简单。http://java.com/en/download/testjava.jsp向http://java.com/applet/JreCurrentVersion2.txt发出请求。该文件当前包含一个版本号:‘1.7.0_11’…实际上是最新的和最大的版本号。
Java代码示例
try (BufferedReader br = new BufferedReader(new InputStreamReader(new URL( "http://java.com/applet/JreCurrentVersion2.txt").openStream()))) { String fullVersion = br.readLine(); String version = fullVersion.split("_")[0]; String revision = fullVersion.split("_")[1]; System.out.println("Version " + version + " revision " + revision);} catch (IOException e) { // handle properly}更新2014-03-20
尽管Java
8是最近发布的,但
http://java.com/applet/JreCurrentVersion2.txt当前仍返回1.7.0_51。
更新2016-07-13
看来我们需要每隔几个月再来一次……目前,您需要扫描http://java.com/en/download/installed8.jsp以获取Javascript变量
latest8Version。因此,您可以运行
curl-s https://java.com/en/download/installed8.jsp | grep latest8Version。
更新2018-08-19
如其他答案中所述,http://javadl-esd-
secure.oracle.com/update/baseline.version是另一个热点。



