jre安装目录奇怪

时间:2014-08-25 20:37:23

标签: java windows install

这是奇怪的事情。

考虑这两个最新版本的java环境:

jre-8u11-windows-i586.exe
jre-8u20-windows-i586.exe

安装8u11。它将它放入程序文件(x86)\ java \ jre8

安装8u20。它将它放入程序文件(x86)\ java \ jre1.8.0_20

我不知道命令在rev 11和rev 20之间何时发生了变化,但是看到我需要在配置文件中预设JAVA_HOME(对于将在之后安装的Windows服务),这有点令人讨厌。曾经是java 1.8的任何早期版本将安装到jre8文件夹......似乎不再是。为什么会改变?

2 个答案:

答案 0 :(得分:1)

Oracle切换到其他安装程序。

一如既往,这种巨大变化会产生副作用。现在路径包含完整版本号的事实很可能是完全无意的。

提示:您可以从注册表中提取路径(此示例适用于32位窗口)

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8]
"JavaHome"="C:\\Program Files\\Java\\jre1.8.0_20"

关于安装程序更改:虽然安装程序仍然是installer.exe中msi内的installer.exe,但许多内容已更改,一些已得到改进。例如,msi现在是自包含的(没有用于文件的单独cab存档,没有单独的mst文件用于翻译到其他语言,翻译现在也影响主菜单条目)。

然而,旧的msi可以用7zip提取,新的有一个空文件表,只有两个二进制文件installerexe和uninstallerexe。

这些只是一些明显的症状,内部必须有更多的变化。

答案 1 :(得分:1)

Oracle一直在尝试实施规则集文件来解决Java产品系列固有的问题;也就是说,它能够与其他版本的自身合作。规则集需要一个类似于jre1.8.0_20的特定版本,以便它们可以拦截该特定版本的调用。使用像jre8这样的名称将无法获得足够的规则。

更糟糕的是,这样的改变是一个重大改变,但他们将其置于次要版本中。许多公司都对这些类型的实施措施措手不及。