我怎样才能得到最新的JRE / JDK作为一个zip文件,而不是EXE或MSI安装程序?

我喜欢确保所有东西都可以通过复制Java文件夹的内容并设置环境variables来工作。

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

我找不到最新的JRE / JDK作为zip文件的地方…

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

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

或者,是否安全地假设来自sun的exe安装程序只是将整个事情解压缩,而不用搞乱registry,环境variables等等?

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

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

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

不幸的是,JDK不可用作便携式ZIP文件。 但是,您可以按照以下步骤操作:

  • 创build工作的JDK目录(在这种情况下是C:\JDK
  • 从Oracle 下载最新版本的JDK(例如jdk-7u7-windows-x64.exe
  • 下载并安装7-Zip(或者如果您不是pipe理员,请下载7-Zip便携版)
  • 使用7-Zip将jdk-XuXX-windows-x64.exe所有文件jdk-XuXX-windows-x64.exe到目录C:\JDK
  • cmd.exe执行以下命令:
    • cd C:\JDK\.rsrc\1033\JAVA_CAB10
    • extrac32 111
  • 用7-zip解压缩C:\JDK\.rsrc\1033\JAVA_CAB10\tools.zip
  • 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_HOMEPATH指向您的JDK目录及其BIN子目录。
  • 创build可以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"

这个解决scheme也适用于JDK 8,没有pipe理员权限。

这是一个好的,但有点复杂的方式:

第一阶段:本机安装文件中的MSI&CAB

  1. 从Oracle(Sun)网站下载JRE或JDK。 此方法可以在任何版本和SDK或JRE上运行。

  2. 运行并等待安装程序加载。 最小化窗口。

  3. 在Windows 7中,您应该浏览到这个位置:

    C:\ Users \ YOUR_USER_NAME \ AppData \ LocalLow \ Sun \ Java

  4. 在那里,你将有几个MSI和CAB文件。

在这里输入图像描述

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

  1. 浏览到Universal Extractor | LegRoom.net并下载UniExtract 二进制档案

  2. 使用WinRar或任何可用的un-RAR程序,并在任何地方提取uniextract161_noinst.rar

在这里输入图像描述

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

  1. 拖放UniExtract.exe图标上的jdk1.6.0_31.msijre1.6.0_31.msi

  2. select“提取方法:MSIpipe理安装程序”。 等待过程完成。

  3. input新build的文件夹。

    如果你已经拖放jre1.6.0_31.msi你应该有一个jre1.6.0_31文件夹

  4. 按照里面的所有级别,你会看到core.zip在这里输入图像描述

  5. 这就是你所追求的。 你可以把它解压缩到任何地方,你将拥有Java运行时或者SDK的内容,而不需要在你的系统上安装任何东西。

*您现在可以closures您在第1阶段打开的Java安装程序*

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

  1. 解压缩7-zip,所以我们得到tools.zip
  2. 将tools.zip解压缩到一个文件夹folder_name中,这样我们就可以得到图片中的内容 在这里输入图像描述

  3. 在cmd中移动到文件夹folder_name / bin并运行该命令

    java -version

输出将是

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

这表明有一些东西搞乱了。 其实我们需要解压所有的软件包。

  1. 在cmd中移动到文件夹folder_name并通过执行该命令自动执行解压缩

    (* .pack)中的/ r%x做到了\ bin \ unpack200 -r“%x”“%〜dx%〜px%〜nx.jar”

  2. 再次执行第3步,如果得到输出波纹pipe,那么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) 

对于JDK 8u102,事情已经改变了,这对我有效:

  1. 下载Windows JDK exe
  2. 用7-Zip打开
  3. 将内容转储到目录%JDK-EXE%
  4. cmd:cd%JDK-EXE%.rsrc \ 1033 \ JAVA_CAB10
  5. cmd:extrac32 111
  6. 现在在目录中有一个tools.zip,用7-Zip打开它
  7. 将内容解压缩到新目录%JDK-VERSION%
  8. cmd:cd%JDK-VERSION%
  9. cmd:for / r%x in(* .pack)do。\ bin \ unpack200 -r“%x”“%〜dx%〜px%〜nx.jar”

src.zip在linux下载:jdk-VERSION-linux-x64.tar。
将副本放入%JDK-VERSION%

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

用JDK下载JAVA SE

  1. 从Oracle网站下载jdk : http : //www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 解压缩exe文件 。 例如: jdk-8u5-windows-x64.exe
  3. 将以下文件解压缩到 tools.zip (在解压缩的文件夹下find) 到所需的JAVA_HOME
  4. 更新JAVA_HOME环境variables以指向所需的path

经testing版本:jdk-7u60-windows-x64.exe,jdk-7u60-windows-x64.exe

用JDK下载JAVA EE

  1. 从Oracle网站下载jdk : http : //www.oracle.com/technetwork/java/javaee/downloads/index.html
  2. 解压缩exe文件 。 例如: jdk-7u55-windows-x64.exe
  3. 将以下文件解压缩到所需的JAVA_HOMEProduct \ Packages \ jdk.zip (在解压缩的文件夹下find)。
  4. 更新JAVA_HOME环境variables以指向所需的path

testing版本:jdk-7u55-windows-x64.exe

在Oracle网站上为这些操作系统提供了Java运行时环境(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开发工具包(JDK) : http : //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 。 Windows .tar.gz。 丢失了,但是你可以使用像7zip这样的工具来提取.exe文件。

我发现这对于使Eclipse可移植性非常有用。 😉

这是我如何做到的,

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

在这里输入图像描述

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

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

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

http://www.processing.org/download/下载处理应用程序。; 该zip文件包含一个名为java的文件夹。 它包括JDK 1.6.0_32(版本在19/02/2013检查)。

这是一个JDK 5 zip文件的链接。 sun-jdk-5-win32-x86-1.5.0.12.zip

您可以从Azul Systems 下载一个可移植的Zulu .zip压缩包,这些压缩包包含OpenJDK for Windows,Linux(RHEL,SUSE,Debian,Ubuntu,CentOS)和Mac OS X。

Zulu是一个完全符合Java SE标准的OpenJDKauthentication版本。 祖鲁是100%开源并且可以免费下载。 现在,Java开发人员,系统pipe理员和最终用户可以享受开放源代码Java的全部好处,并具有部署灵活性和对升级时间的控制。

更多有关不同JVM(包括Zulu)的技术信息,以及它们的体系结构和操作系统支持。

您可以使用7zip(或另一个类似的应用程序)来获取安装程序中捆绑的core.zip文件中的目录。 只需使用7zip来浏览exe文件,就会看到一个core.zip文件,其中包含所有通常位于“jreX”目录(其中X是主要版本号)内的文件。 至于设置envvariables等,你可以按照其他的答案。 如果你想要的只是一个可移植的jre(例如,你可以使用java.exe jarfile或javaw.exe jarfile来运行你的jar),那么这个解决scheme就可以做到。 这与将jre目录从一个地方复制到另一个地方非常相似

试试这个: http : //maven.nuiton.org/nexus/content/repositories/jvm/com/oracle/jre/

此链接包含所有版本的便携式zip分配。

谢谢你的提问 JDK似乎没有与Windowsregistry交互。

但是,在某些情况下,JRE会执行。

链接: http : //www.rgagnon.com/javadetails/java-0604.html

由Igor和CharlesB描述的过程对我很有用,因为像NetBeans和Eclipse这样的IDE允许指定JDK的位置,甚至像Apache Tomcat这样的软件(ZIP分布)也使用BASH-FILES来设置它(然后指定使用JDK位置亲属URI)。
我有一个USB硬盘使用NetBeans,Eclipse,Apache Tomcat以“便携模式”使用JDK。
我有一种方法从安装程序文件中提取JDK的副本:安装它,将其复制到其他位置,然后将其卸载。 一个肮脏的方式来提取它,但是是成功的。
放置EXTRA – LIBS的地方是:%PLACE_WHERE_JDK_ARE%\ jre \ lib \ ext

这个链接

http://www.java.com/en/download/manual.jsp

至less可以帮助您避免令人讨厌的预加载安装程序直接进入SDK。

从那里,我会安装在一个扔掉的虚拟机,在旧的笨重的PC或其他地方,然后转移结果

 C:\Program Files (x86)\Java\jre7 

(或类似的)到你的新机器上,设置很less的通常的ENVvariables,那么你理想的情况下,没有所有的营销垃圾和潜在的配合。 当然,也没有频繁的自动更新安全。

我发现你可以在Wine中运行安装程序。 这工作:

WINEPREFIX=/home/jason/java wine jre-7u11-windows-i586.exe

然后一旦完成,你可以压缩/home/jason/java/drive_c/Program\ Files\ \(x86\)/Java/jre7/

这应该也适用于jdk

你可以下载SEVER JRE它包含jdk。 服务器jre 7

  1. 为windows系统下载server-jre- <version> .tar.gz文件。
  2. 如果你有7zip tar文件可以通过提取,我用cygwin(cygwin可以安装没有pipe理员权限看到这个答案 )提取tar文件与命令tar xzvf file.tar.gz任何其他的tar提取器也将工作

现在提取的JDK文件夹将被创build在同一个文件夹中。

广泛的答复是好的,我用这个bat文件的forms已经用了很长时间了:

 @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的path,并且必须在您select的JDK旁边的文件夹中运行(因为* .exe在这里会find它)。

适用于2014年8月14日,我想这是从8u20的东西。

我做了几次复制JRE文件夹,它总是工作正常。 但是我真的不确定你是否可以得到一个带有内容的压缩文件,因为官方安装安装了IE,Firefox和任何插件。

http://androidhost.org/D8wsv

你可以从上面的链接获取jre-7u75-windows-i586.zip。

OSX指令

jdk-8u74-macosx-x64.dmg

  1. 从Oracle下载.dmg
  2. 安装磁盘映像
  3. 提取 .pkg ,拖动它。 不要双击(将安装)。
  4. 打开一个terminal,并进入包装。
  5. mkdir jdk-$version && cd jdk-$version
  6. xar -xf ../JDK*.pkg
  7. cd jdk TAB
  8. tar zxf Payload
  9. Contents/Home文件夹包含JDK
 mkdir c:\JDK cd c:\JDK git clone https://bitbucket.org/ramazanpolat/jdk-8u112-windows-x64/ 

要么

 git clone https://bitbucket.org/ramazanpolat/jdk-8u112-windows-x86 

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

来自以下提示的命令包装为批处理脚本。 保存为unpack.bat。 然后把它放在jdk / jre提取的文件中。

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

安装在沙箱中 ,然后复制文件夹。

JDK的可以从这里下载zip文件也不是http://installbuilder.bitrock.com/java/