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

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

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

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

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

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

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

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


当前回答

下面提示中的命令包装为批处理脚本。保存为unpack.bat。然后将它与jdk/jre提取文件一起放置到dir。

@echo off

cd /d "%~dp0"
for /r %%x in (*.pack) do .\bin\unpack200 -r "%%x" "%%~dx%%~px%%~nx.jar"

其他回答

针对Windows x86、Windows x64、Linux x86、Linux x64、Mac OS X x64、Solaris x64等操作系统,Oracle网站上有JRE的.tar.gz文件。 参见:http://www.oracle.com/technetwork/java/javase/downloads/jre8 -下载- 2133155. - html

还有Java开发工具包(JDK): http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。 Windows .tar.gz。没有,但是您可以用7zip之类的工具提取.exe文件。

我发现这对于使Eclipse可移植非常有用。: -)

答案之前已经给出了。它也适用于“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)

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

您可以从PortableApps.com下载Java Portable。它不会改变您的系统设置。你可以把它放在u盘里。

UPD:对于那些需要JDK的人来说,有一个开源项目OpenJDK Portable

UPD2:也有JDK Portable (Oracle)

有些人可能对正式的Oracle生产就绪JDK开源构建感兴趣

你可以从Azul Systems下载一个可移植的Zulu .zip存档,它是针对Windows, Linux (RHEL, SUSE, Debian, Ubuntu, CentOS)和Mac OS X的OpenJDK的构建。

Zulu是OpenJDK的认证版本,完全符合Java SE标准。Zulu是100%开源的,可以免费下载。现在,Java开发人员、系统管理员和最终用户可以享受开源Java的全部好处,包括部署灵活性和对升级时间的控制。

更多关于不同jvm(包括Zulu)及其体系结构和操作系统支持的技术信息。