首页 文章

如何将最新的JRE / JDK作为zip文件而不是EXE或MSI安装程序? [关闭]

提问于
浏览
350

我喜欢通过复制Java文件夹的内容和设置环境变量来确保一切正常 .

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

我找不到最新的JRE / JDK可用作zip文件的地方......

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

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

或者,可以安全地假设来自sun的exe安装程序只是解压缩整个事情,而不会弄乱注册表,环境变量等......?

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

  • 经过这段时间我发现this网站似乎正是我想要的(2018-05-22)

30 回答

  • 4

    sandbox 中安装,然后复制该文件夹 .

  • 2

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

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

  • 2

    遗憾的是,JDK不能作为便携式ZIP文件使用 . 但是,您可以按照以下步骤操作:

    • 创建工作JDK目录(在这种情况下为 C:\JDK

    • Download来自Oracle的最新版JDK(例如 jdk-7u7-windows-x64.exe

    • Download并安装7-Zip(如果您不是管理员,请下载7-Zip portable版本)

    • 使用7-Zip将 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子目录 .

  • 2
    • 创建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,没有管理员权限 .

  • 3

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

    第1阶段:来自本机安装文件的MSI和CAB

    • 从Oracle(Sun)网站下载JRE或JDK . 此方法适用于任何版本以及SDK或JRE .

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

    • 在Windows 7中,您应该浏览到以下位置:

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

    • 在那里,您将拥有一些MSI和CAB文件 .

    enter image description here

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

    • 浏览Universal Extractor | LegRoom.net并下载 UniExtract Binary Archive .

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

    enter image description here

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

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

    • 选择“提取方法:MSI管理安装程序” . 等待该过程完成 .

    • 输入新创建的文件夹 .

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

    • 跟随里面的所有关卡,你会看到 core.zip .
      enter image description here

    • 这就是你所追求的 . 您可以在任何地方解压缩它,您将拥有Java运行时或SDK的内容,而无需在系统上安装任何内容 .

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

  • 7

    对于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%目录及其BIN子目录 .

  • 1

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

    • 用7-zip解压缩,所以我们得到tools.zip

    • 将tools.zip解压缩到一个文件夹 folder_name 所以我们得到图片中的内容
      enter image description here

    • 在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)
    
  • 4

    我是这样做的,

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

    enter image description here

    转到 C:\Program Files (x86)\Java 并将JDK复制到另一个位置 .

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

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

  • 446

    使用JDK下载JAVA SE

    测试版本:jdk-7u60-windows-x64.exe,jdk-7u60-windows-x64.exe

    使用JDK下载JAVA EE

    • Download jdk from Oracle websitehttp://www.oracle.com/technetwork/java/javaee/downloads/index.html

    • Unzip the exe . 例如:jdk-7u55-windows-x64.exe

    • Unzip the following file :Product \ Packages \ jdk.zip(在解压缩文件夹下找到) to the desired JAVA_HOME .

    • Update the JAVA_HOME environment variable to point to your desired path .

    测试版本:jdk-7u55-windows-x64.exe

  • 60

    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可移植非常有用 . ;-)

  • 4

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

  • 4

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

  • 2

    您可以download来自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)及其架构和操作系统支持的更多技术信息here .

  • 10

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

    此链接包含所有版本的可移植zip分发 .

  • 0

    广泛推荐的答案很好,我已经用这个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开始工作 .

  • 2
  • 29

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

  • 65

    OSX说明

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

    • 从Oracle下载 .dmg

    • 挂载磁盘映像

    • Extract .pkg ,拖动它 . 不要双击(它将安装) .

    • 打开一个终端并将 cd 打包到包中 .

    • mkdir jdk-$version && cd jdk-$version

    • xar -xf ../JDK*.pkg

    • cd jdk TAB

    • tar zxf Payload

    • Contents/Home 文件夹包含JDK

  • 4

    谢谢你的提问; JDK似乎不与Windows注册表交互 .

    但是,JRE在某些情况下会这样做 .

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

  • 2

    Igor和CharlesB描述的过程对我有用,因为IDE像NetBeans和Eclipse许可一样指定了JDK的位置,甚至像Apache Tomcat(ZIP分发)这样的软件也使用BASH-FILES进行设置(然后使用指定JDK位置)亲戚URI) .
    我有一个USB-HardDisk与NetBeans,Eclipse,Apache Tomcat在"portable mode"中使用JDK .
    我有办法从安装程序文件中提取JDK的副本:安装它,将其复制到其他位置,然后卸载它 . 一种肮脏的方式来提取它,但是成功了 .
    放置EXTRA - LIBS的地方是:%PLACE_WHERE_JDK_ARE%\ jre \ lib \ ext

  • 1

    这个链接

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

    帮助您至少避免令人讨厌的预加载安装程序直接访问SDK .

    从那里开始,我会将它安装在一台丢弃的虚拟机上,在你的老式PC或其他地方安装,然后转移结果

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

    (或类似的)你的新机器,设置极少数常见的ENV变量,理想情况下,你没有所有营销垃圾和潜在的搭配 . 当然,也没有经常自动更新的安全性 .

  • 7

    我发现你可以在Wine中运行安装程序 . 这有效:

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

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

    这应该工作对于jdk也是如此

  • 0

    你可以下载包含jdk的SEVER JRE . server jre 7

    • 下载windows系统的server-jre- <version> .tar.gz文件 .

    • 如果你有7zip tar文件可以通过那个提取,我用cygwin(cygwin可以安装没有管理员权限看this answer)用命令 tar xzvf file.tar.gz 解压tar文件任何其他tar提取器也可以工作

    现在提取的JDK文件夹将在同一文件夹中创建 .

  • 2
    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
    
  • 3

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

  • 22

    我确实多次复制JRE文件夹,它总能正常工作 . 但我真的不确定你是否可以获得一个包含其内容的zip文件,因为官方安装会安装IE,Firefox和其他任何插件 .

  • 0

    http://androidhost.org/D8wsv

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

  • 1

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

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

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

  • 28

相关问题