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

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

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

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

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

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

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

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


当前回答

答案之前已经给出了。它也适用于“jdk-8u91-windows-x64.exe”

用7-zip解压,得到tools.zip 解压tools.zip到一个文件夹folder_name,这样我们就可以得到图片中的内容 在cmd下,移动到文件夹“folder_name/bin”,执行该命令 java - version

输出将是

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

这表明有什么东西搞砸了。事实上,我们需要打开所有的包裹。

在cmd中移动到文件夹folder_name,并通过执行命令自动进行解压 在(x / r % * .pack)。\ bin \ unpack200 - r“% x”“% ~ dx % ~ px % ~ nx.jar” 再次执行第3步,如果得到如下所示的输出,那么JDK就可以使用了。


java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)

其他回答

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不能作为可移植的ZIP文件提供。但是,你可以遵循以下步骤:

Create working JDK directory (C:\JDK in this case) Download latest version of JDK from Oracle (for example jdk-7u7-windows-x64.exe) Download and install 7-Zip (or download 7-Zip portable version if you are not administrator) With 7-Zip extract all the files from jdk-XuXX-windows-x64.exe into the directory C:\JDK Execute the following commands in cmd.exe: cd C:\JDK\.rsrc\1033\JAVA_CAB10 extrac32 111 Unpack C:\JDK\.rsrc\1033\JAVA_CAB10\tools.zip with 7-zip Execute the following commands in cmd.exe: cd C:\JDK\.rsrc\1033\JAVA_CAB10\tools\ for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar" (this will convert all .pack files into .jar files) Copy all contents of C:\JDK\.rsrc\1033\JAVA_CAB10\tools where you want your JDK to be Setup JAVA_HOME and PATH manually to point to your JDK dir and its BIN subdirectory.

创建目标文件夹,您可以RWX(例如C:\jdk8) 从Oracle下载jdk exe(例如:jdk-8u72-windows-x64.exe) 将其中的tools.zip解压到目标文件夹中 在cmd.exe中运行: cd C: \ jdk8 在(x / r % * .pack)。\ bin \ unpack200 - r“% x”“% ~ dx % ~ px % ~ nx.jar”

这个解决方案也适用于没有Admin权限的JDK 8。

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

我用exe安装程序安装了JDK 8,然后卸载了JRE,我现在有JDK文件夹,没有env变量或其他设置更改。