2014/4/15

JAVA 安裝檔 TO ZIP

自行解壓java安裝檔 資料夾

先下載 7 zip
解壓 exe java安裝檔
>C:\JDK\.rsrc\JAVA_CAB10
>extrac32 111
解壓 tools.zip
>C:\JDK\.rsrc\JAVA_CAB10\tools\
>for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"

完成!!


JDK is not available as a portable zip unfortunately. However, you can:
  • Create working JDK directory ("C:\JDK" in this case)
  • Download latest version of JDK from oracle (for example "jdk-7u7-windows-i586.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-[6-7]u?-windows-i586.exe" in directory "C:\JDK"
  • In command shell (cmd.exe) do the following:
    --> change directory to directory C:\JDK\.rsrc\JAVA_CAB10
    --> execute command: extrac32 111
  • Unpack C:\JDK\.rsrc\JAVA_CAB10\tools.zip with 7-zip
  • In command shell (cmd.exe) do the following:
    --> change directory to C:\JDK\.rsrc\JAVA_CAB10\tools\
    --> execute command: for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"(this will convert all pack files into jar)
  • Copy whole directory and all subdir of c:\JDK\.rsrc\JAVA_CAB10\tools" where you want your JDK to be and setup manually JAVA_HOME and PATH to point to your JDK dir and its BIN subdir.
Thats all. After this you'll be able at least to use javac.exe

If you want to automate it, once you have 7-zip installed you can just use the 7z.exe utility that's installed along with it to do all the extraction (it also replaces extrac32 in this solution). So for example: 7z e jdk-7u15-windows-x64.exe .rsrc/JAVA_CAB10/111 7z e 111 7z x -ojdk_dir tools.zip and then delete the temporary 111 and tools.zip files and do the unpacking. The unpacking under msys/cygwin can be done with: find jdk_dir -name "*.pack" -exec sh -c 'jdk_dir/bin/unpack200 -r "{}" "$(dirname "{}")/$(basename "{}" .pack).jar"' \;