我希望通过复制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似乎不与Windows注册表交互。

但是,JRE在某些情况下是这样的。

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


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

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

UPD2:也有JDK Portable (Oracle)

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


我确实复制了JRE文件夹几次,它总是工作正常。但我真的不确定你是否能得到一个包含其内容的zip文件,因为官方安装安装IE, Firefox和其他插件。


Sun JVM可以作为MSI,它可以从脚本执行。

http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/install-msi.html


不幸的是,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.


The Process described by Igor and CharlesB Works to me, since IDE's like NetBeans and Eclipse permit specify the location of the JDK, even software like Apache Tomcat (the ZIP Distribution) use BASH - FILES to set it up (then specify the JDK location using relatives URI). I Have a USB-HardDisk With NetBeans, Eclipse, Apache Tomcat working with a JDK in "portable mode". I Had a way to extract a copy of the JDK from the installers files: Install it, Copy it in other place and then uninstall it. A dirty way to extract it, but was successfull. The place to put EXTRA - LIBS was: %PLACE_WHERE_JDK_ARE%\jre\lib\ext


这里有一个好方法,但有点复杂:

阶段1:MSI和CAB从本地安装文件

请从Oracle (Sun)网站下载JRE或JDK。此方法适用于任何版本和SDK或JRE。 运行并等待安装程序加载。最小化窗口。 在Windows 7中,你应该浏览到这个位置: C:\Users\ YOUR_USER_NAME \AppData\LocalLow\Sun\Java 在那里,您将有一些MSI和CAB文件。

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

浏览到Universal Extractor | LegRoom.net并下载UniExtract二进制档案。 使用WinRar或任何可用的unrar程序,并在任何地方提取uniextract161_noinst.rar。

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

拖放jdk1.6.0_31。Msi或jre1.6.0_31。在UniExtract.exe的图标上打开msi。 选择“提取方法:MSI管理安装程序”。等待过程结束。 输入新创建的文件夹。 如果您已经拖放了jre1.6.0_31。Msi你应该有一个jre1.6.0_31文件夹 遵循所有级别,您将看到core.zip。 这就是你所追求的。您可以在任何地方解压缩它,这样就有了Java运行时或SDK的内容,而无需在系统上安装任何东西。

你现在可以关闭在第一阶段打开的Java安装程序了


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


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


这个链接

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

至少可以帮助你避免讨厌的预加载安装程序直接进入SDK。

从那里,我将把它安装在一个一次性的VM,在你的旧的杂乱的PC或其他地方,然后转移结果

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

(或类似)到你的新机器,设置很少的常用ENV变量,理想情况下,你就可以实现了,没有所有的营销垃圾和潜在的捆绑。当然,也没有安全的频繁自动更新。


我发现你可以在Wine中运行安装程序。如此:

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

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

这应该也适用于jdk


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


下载javase和JDK

jdk从Oracle网站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

下载javaee和JDK

jdk从Oracle网站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


创建目标文件夹,您可以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。


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


针对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可移植非常有用。: -)


http://androidhost.org/D8wsv

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


你可以从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)及其体系结构和操作系统支持的技术信息。


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

此链接包含所有版本的可移植zip发行版。


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


http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

在这里。下载.gz包。


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

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

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

现在解压缩的JDK文件夹将在同一文件夹中创建。


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

@echo off

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

对于JDK 8u102,事情已经发生了变化,这对我来说是有效的:

下载windows JDK exe 用7-Zip打开 将内容转储到%JDK-EXE%目录中 cmd: cd %JDK-EXE%.rsrc\1033\JAVA_CAB10 命令:extrac32 111 现在在目录中有一个tools.zip,用7-Zip打开它 将内容提取到一个新目录%JDK-VERSION% cmd: cd %JDK-VERSION% cmd: / r % x (* .pack)。\ 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子目录。


我就是这么做的,

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

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

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

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


mkdir c:\JDK
cd c:\JDK
git clone https://bitbucket.org/ramazanpolat/jdk-8u112-windows-x64/

or

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

得到广泛好评的答案很好,我已经用了很长一段时间,以这个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上也能用。


安装在沙箱,并复制文件夹。


JDK可以从这里以zip文件或。exe格式下载 http://installbuilder.bitrock.com/java/