我喜欢通过复制Java文件夹的内容和设置环境变量来确保一切正常.
我通常在虚拟机中运行安装程序,压缩\ java文件夹内容,返回虚拟机的快照,然后解压缩压缩文件.
我找不到最新的JRE/JDK可用作zip文件的地方......
http://java.sun.com/javase/downloads/index.jsp
http://download.java.net/jdk6/
或者,可以安全地假设来自sun的exe安装程序只是解压缩整个事情,而不会弄乱注册表,环境变量等......?
- 经过这段时间我发现这个网站似乎正是我想要的(2018-05-22)
遗憾的是,JDK不能作为便携式ZIP文件使用.但是,您可以按照以下步骤操作:
创建工作JDK目录(C:\JDK
在本例中)
从Oracle 下载最新版本的JDK(例如jdk-7u7-windows-x64.exe
)
下载并安装7-Zip(如果您不是管理员,请下载7-Zip便携版)
使用7-Zip将所有文件从jdk-XuXX-windows-x64.exe
目录中提取出来C:\JDK
执行以下命令cmd.exe
:
cd C:\JDK\.rsrc\1033\JAVA_CAB10
extrac32 111
C:\JDK\.rsrc\1033\JAVA_CAB10\tools.zip
用7拉链打开包装
执行以下命令cmd.exe
:
cd C:\JDK\.rsrc\1033\JAVA_CAB10\tools\
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
(这会将所有.pack
文件转换为.jar
文件)
复制C:\JDK\.rsrc\1033\JAVA_CAB10\tools
您希望JDK所在的所有内容
设置JAVA_HOME
并PATH
手动指向JDK目录及其BIN子目录.
创建RWX的目标文件夹(例如C:\jdk8
)
从Oracle下载jdk exe(例如jdk-8u72-windows-x64.exe
)
将其中的搜索结果解压缩tools.zip
到目标文件夹中
在cmd.exe
,运行:
cd C:\jdk8
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
此解决方案也适用于JDK 8,没有管理员权限.
您可以从PortableApps.com下载Java Portable.它不会更改您的系统设置.你可以把它放在USB记忆棒上.
UPD:对于那些需要JDK的人来说,有一个开源项目OpenJDK Portable
对于JDK 8u102,情况发生了变化,这对我有用:
下载windows JDK exe
打开7-Zip
将内容转储到目录%JDK-EXE%
cmd:cd%JDK-EXE%.rsrc\1033\JAVA_CAB10
cmd:extrac32 111
现在在目录中有一个tools.zip,在7-Zip中打开它
将内容解压缩到新目录%JDK-VERSION%
cmd:cd%JDK-VERSION%
cmd:for/r%x in(*.pack)do.\ 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子目录.
这是一个很好但有点复杂的方式:
从Oracle(Sun)网站下载JRE或JDK.此方法适用于任何版本以及SDK或JRE.
运行并等待安装程序加载.最小化窗口.
在Windows 7中,您应该浏览到以下位置:
C:\ Users\YOUR_USER_NAME\AppData\LocalLow\Sun\Java
在那里,您将拥有一些MSI和CAB文件.
浏览到Universal Extractor | LegRoom.net并下载UniExtract 二进制存档.
使用WinRar或任何可用的非RAR程序,并在任何地方解压缩uniextract161_noinst.rar.
拖放jdk1.6.0_31.msi或jre1.6.0_31.msi上的图标UniExtract.exe.
选择"提取方法:MSI管理安装程序".等待该过程完成.
输入新创建的文件夹.
如果你拖放jre1.6.0_31.msi你应该有一个jre1.6.0_31文件夹
按照里面的所有级别,你会看到core.zip.
这就是你所追求的.您可以在任何地方解压缩它,您将拥有Java运行时或SDK的内容,而无需在系统上安装任何内容.
之前已经给出了答案.它适用于"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并通过执行命令自动执行解包
for/r%x in(*.pack)do.\ 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安装开始,等待以下屏幕,
转到C:\Program Files (x86)\Java
并将JDK复制到另一个位置.
单击"x"取消安装并卸载JDK.
将复制的JDK复制回C:\Program Files (x86)\Java
您选择的其他文件夹中
从Oracle网站下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
解压缩exe.例如:jdk-8u5-windows-x64.exe
解压缩以下文件:tools.zip(在解压缩文件夹下找到)到所需的JAVA_HOME.
更新JAVA_HOME环境变量以指向所需的路径.
测试版本:jdk-7u60-windows-x64.exe,jdk-7u60-windows-x64.exe
用JDK下载JAVA EE从Oracle网站下载jdk:http://www.oracle.com/technetwork/java/javaee/downloads/index.html
解压缩exe.例如:jdk-7u55-windows-x64.exe
将以下文件解压缩:Product\Packages\jdk.zip(在解压缩文件夹下找到)到所需的JAVA_HOME.
更新JAVA_HOME环境变量以指向所需的路径.
测试版本:jdk-7u55-windows-x64.exe
Oracle网站上有一个针对这些操作系统的Java Runtime Environment(JRE)的.tar.gz文件:Windows x86,Windows x64,Linux x86,Linux x64,Mac OS X x64,Solaris x64.请参阅:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
还有Java Development Kit(JDK):http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.Windows .tar.gz.缺少,但您可以使用像7zip这样的工具提取.exe文件.
我发现这对于使Eclipse可移植非常有用.;-)
您可以从Azul Systems 下载便携式Zulu .zip存档,它是OpenJDK for Windows,Linux(RHEL,SUSE,Debian,Ubuntu,CentOS)和Mac OS X的构建版本.
Zulu是OpenJDK的认证版本,完全符合Java SE标准.Zulu是100%开源的,可免费下载.现在,Java开发人员,系统管理员和最终用户可以享受开源Java的全部优势,具有部署灵活性和对升级时序的控制.
在不同的JVM(包括祖鲁语),他们的体系结构和操作系统支持的更多技术信息在这里.
广泛支持的答案很好,我已经以这个bat文件的形式使用了一段时间:
@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION SET ROOT=%cd% REM Get the tools.zip from the innards of the installer 7z e *.exe .rsrc/1033/JAVA_CAB10/111 7z e 111 7z x tools.zip REM Extract all 7z x -aoa tools.zip -ojdk del tools.zip del 111 REM Searching directory structure from root for subfolders and zipfiles. FOR /F "delims==" %%d IN ('dir /ogne /ad /b /s "%ROOT%"') DO ( echo Descending into %%d FOR /F "delims==" %%f IN ('dir /b "%%d\*.pack"') DO ( echo Extracting "%%d\%%f" REM Extract all packs into jars. jdk\bin\unpack200 -r "%%d\%%f" "%%d\%%~nf.jar" ) ) ENDLOCAL pause;
它需要访问7zip的路径,并且必须在您选择的JDK旁边的文件夹中运行(由于此处带有* .exe,因此可以找到它)。
可以在8u144上运行,我想它可以从8u20上运行。
试试这个:http : //maven.nuiton.org/nexus/content/repositories/jvm/com/oracle/jre/
该链接包含所有版本的便携式zip发行版。