我希望通过复制Java文件夹的内容并设置环境变量来确保一切都能正常工作。

我通常在虚拟机中运行安装程序,压缩\java文件夹内容,回到虚拟机的快照,然后解压缩压缩文件。

我找不到一个地方有最新的JRE / JDK压缩文件…

http://java.sun.com/javase/downloads/index.jsp

http://download.java.net/jdk6/

另外,假定sun的exe安装程序只是解压缩整个文件,而不会弄乱注册表、环境变量等等,这是否安全?

相关:在Windows上手动安装Java ?

-- 经过这么长时间,我找到了这个网站,似乎正是我要找的(2018-05-22)


当前回答

You can just use 7zip (or another similar app) to get the dirs inside the core.zip file that's bundled in the installer. Just use 7zip to browse the exe, you'll see a core.zip file which has all the files that usually go inside "jreX" dir (where X is the major version number). As for setting env variables and the such, you can follow the other answers. If all you want is a portable jre (for example, you can run your jars by using java.exe jarfile or javaw.exe jarfile) then this solution will do. This is very similar to copying the jre dir from one place to another

其他回答

这里有一个好方法,但有点复杂:

阶段1:MSI和CAB从本地安装文件

请从Oracle (Sun)网站下载JRE或JDK。此方法适用于任何版本和SDK或JRE。 运行并等待安装程序加载。最小化窗口。 在Windows 7中,你应该浏览到这个位置: C:\Users\ YOUR_USER_NAME \AppData\LocalLow\Sun\Java 在那里,您将有一些MSI和CAB文件。

第二阶段:使用uniextract轻松提取MSI和CAB

浏览到Universal Extractor | LegRoom.net并下载UniExtract二进制档案。 使用WinRar或任何可用的unrar程序,并在任何地方提取uniextract161_noinst.rar。

阶段3:最后,提取名为core.zip的内部容器

拖放jdk1.6.0_31。Msi或jre1.6.0_31。在UniExtract.exe的图标上打开msi。 选择“提取方法:MSI管理安装程序”。等待过程结束。 输入新创建的文件夹。 如果您已经拖放了jre1.6.0_31。Msi你应该有一个jre1.6.0_31文件夹 遵循所有级别,您将看到core.zip。 这就是你所追求的。您可以在任何地方解压缩它,这样就有了Java运行时或SDK的内容,而无需在系统上安装任何东西。

你现在可以关闭在第一阶段打开的Java安装程序了

我就是这么做的,

从安装exe开始,等待下面的屏幕,

访问C:\Program Files (x86)\Java并将JDK复制到另一个地方。

单击“x”取消安装并卸载JDK。

将复制的JDK复制回C:\Program Files (x86)\Java或您选择的其他文件夹

我确实复制了JRE文件夹几次,它总是工作正常。但我真的不确定你是否能得到一个包含其内容的zip文件,因为官方安装安装IE, Firefox和其他插件。

OSX指令

用jdk-8u74-macosx-x64.dmg测试。

从Oracle下载。dmg 挂载磁盘映像 提取.pkg,拖动它。不要双击(它会安装)。 打开一个终端并cd到包中。 Mkdir jdk-$version && CD jdk-$version xar -xf ../JDK*.pkg cd jdkTAB tar zxf有效负载 “Contents/Home”文件夹中包含JDK

对于JDK 8u102,事情已经发生了变化,这对我来说是有效的:

下载windows JDK exe 用7-Zip打开 将内容转储到%JDK-EXE%目录中 cmd: cd %JDK-EXE%.rsrc\1033\JAVA_CAB10 命令:extrac32 111 现在在目录中有一个tools.zip,用7-Zip打开它 将内容提取到一个新目录%JDK-VERSION% cmd: cd %JDK-VERSION% cmd: / r % x (* .pack)。\ bin \ unpack200 - r“% x”“% ~ dx % ~ px % ~ nx.jar” src.zip在%JDK-EXE%中。rsrc\1033\JAVA_CAB9\110\ -拷贝到%JDK-VERSION%

现在你已经准备好了。 您可能希望将JAVA_HOME和PATH设置为指向%JDK-VERSION% dir及其BIN子目录。