Java

Convert JDK from EXE to ZIP

Since Oracle doesn’t provide JDK as portable ZIP for Windows, this tutorial will show how to convert JDK from EXE to ZIP.

Are you using Java 9?

If you’re looking for instructions to convert JDK 9, the process is a bit different than this one for Java 8 and prior versions, so please visit the following tutorial for Java 9:

Pre-requisites

Download the JDK

Visit this link to download the appropriate JDK for your Windows (32 or 64 bits), accepting Oracle’s license agreement.

Extract the JDK

Create a directory to work with (by example: C:\JDK) and copy the downloaded JDK to that directory;

Next, run 7-Zip, selected your JDK copy and click on Extract (Extrair):

Leave the settings as their default on the new window that has opened, then hit OK:

Wait until the process complete, you will end with a folder with the same name as the JDK file. Go into that folder and you should have the following structure:

Open the prompt, go to the directory where the above content were extract and run the commands below, to extract once again the content we need:

cd C:\JDK\jdk-8u121-windows-x64\.rsrc\1033\JAVA_CAB10 extrac32 111

A file named tools.zip is going to show up inside this directory, extract its contents with 7-Zip to get a tools folder with the following contents:

On the prompt again, run the following commands to convert the .pack into .jar files to finalize the process:

cd C:\JDK\jdk-8u121-windows-x64\.rsrc\1033\JAVA_CAB10\tools\ for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"

You’re done, the content inside the tools folder is now your portable JDK.

If you also want to extract the src.zip of the JDK for e.g. using with your IDE, please refer to:

Hope it helps. Cya!

References

bgasparotto

View Comments

Recent Posts

Python function decorator

This guide will show you how to create a Python function decorator with a few…

2 years ago

Got permission denied while trying to connect to the Docker daemon socket

This guide will show you how to fix the error Got permission denied while trying…

2 years ago

Python virtual environment on Intellij IDEA

This guide will show you how to create a Python virtual environment on Intellij IDEA…

2 years ago

Find and kill processes on Linux and Mac by port number

This tutorial will quickly show you how to to find and kill processes on Linux,…

2 years ago

Python: Relocation R_X86_64_PC32 against symbol can not be used when making a shared object Error

This guide shows a possible solution for Python error Relocation R_X86_64_PC32 against symbol can not…

2 years ago

Kubernetes useful commands

I condensed below a cheat sheet of Kubernetes useful commands. I will keep updating this…

2 years ago