java自从被oracle收购后,windows下新的版本只有安装版。没有zip免安装。

windows安装版有一下坏处

  • 会写注册表
  • 会将java.exe,javaw.exe 等解压到C:\Windows\System32或者C:\Windows\SysWOW64
  • 会将定期更新程序设置开机自启动,发现新版本弹窗提示
  • 会在PATH中写一个oracle的javapath,还会加上jre\bin

好处就是安装方便

下面说一下,如何免安装

从网址:https://mirrors.huaweicloud.com/java/jdk/ 下载最新的jdk windows安装版

比如:jdk-8u202-windows-x64.exe

用解压缩软件解压到E:\jdk-8u202-windows-x64\ 然后使用Win+R->cmd打开命令行

cd /d E:\jdk-8u202-windows-x64\.rsrc\1033\JAVA_CAB10
extrac32.exe 111 :: 此时解压出 tools.zip 文件
:: 打开当前文件夹
explorer.exe .
:: 将tools.zip 用解压软件解压到当前文件夹,e.g. `E:\jdk-8u202-windows-x64\.rsrc\1033\JAVA_CAB10\tools` :: 将 .pack文件改成.jar文件 cd tools
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar" :: 解压 src.zip 如果不需要源码 src.zip 可忽略此步 cd ..\..\JAVA_CAB9
extrac32 110 :: 将src.zip移动到tools文件夹 move src.zip ..\JAVA_CAB10\tools\ :: 将tools文件夹里的内容复制到指定目录,e.g. D:\jdk xcopy /s /e /i /y E:\jdk-8u202-windows-x64\.rsrc\1033\JAVA_CAB10\tools d:\jdk :: 删除 E:\jdk-8u202-windows-x64\ 文件夹
cd / && rd /s /q E:\jdk-8u202-windows-x64\

精简下来的步骤如下:

1.使用解压缩软件解压缩jdk-8u202-windows-x64.exe文件,得到一个文件夹:jdk-8u202-windows-x64
2.进入到这个文件夹中的.rsrc\1033\JAVA_CAB10 目录下,然后在命令行中执行这个命令:extrac32.exe 111
此时会解压生成一个 tools.zip 文件
3.将tools.zip 用解压软件解压到当前文件夹,生成一个tools文件夹
4. 进入到tools文件夹中,使用命令:for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar" 将.pack文件改成.jar文件
5.此时tools文件夹就是jdk绿色版,把tools修改成jdk放在d盘
设置环境变量增加 JAVA_HOME d:\jdk
修改PATH,追加 ;%JAVA_HOME%\bin;
增加 CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
设置环境变量后,需要重新打开cmd

Windows 下JDK绿色免安装制作教程的更多相关文章

  1. Windows下MySQL绿色版安装配置与使用

    Mysql-5.7.11-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址: http://downloads.mysql.com/archives/get/file/mysql ...

  2. Windows 8.1下 MySQL绿色版安装配置与使用

    原文:Windows 8.1下 MySQL绿色版安装配置与使用 Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址:http://downloads.my ...

  3. 【最详细最完整】在Linux 下如何打包免安装的QT程序?

    在Linux 下如何打包免安装的QT程序? 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...

  4. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  5. windows下,下载pip安装

    windows下,下载pip安装 https://pypi.python.org/pypi/pip#downloads 找到source那个压缩文件,下载下来解压. 参考: windows下面安装Py ...

  6. 使用ILMerge 打包C# 绿色免安装版程序

    使用ILMerge工具,将C#项目debug目录下的exe及其依赖的dll文件打包成一个exe文件,直接双击就可运行. 使用工具: ILMerge :http://www.microsoft.com/ ...

  7. Lua在Windows下的配置、安装、运行

    Windows下安装.运行Lua! 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1↓ 进入Lua官网:h ...

  8. 24个 HTML5 & CSS3 下拉菜单效果及制作教程

    下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...

  9. 2分钟 windows下sublime text 3安装git插件:

    12:35 2015/11/182分钟 windows下sublime text 3安装git插件:推荐博客:http://blog.csdn.net/naola2001/article/detail ...

随机推荐

  1. 集合-list常用方法总结

    每个方法使用见下方代码详解 点击查看代码 ArrayList list = new ArrayList(); list.add("AA"); list.add(123); list ...

  2. C++对象的应用

    本篇文章将介绍对象数组,对象的动态分配以及对象在函数中的应用. 一.对象数组 1.对象数组的定义和初始化 定义对象数组与定义普通数组的语法形式基本相同.如定义一个Square obj[3]:表示一个正 ...

  3. 网络营销谁在行?PHP小哥打个样

    PHP -ゞ 阿白同学的学习笔记 PHP学习笔记 - 01 - web2.0 - 网络营销 @ 目录 一. 前言 二. 开始(借助菜鸟教程平台练习) 1. Hello World -- 第一个案例 2 ...

  4. 7.5 The Morning after Halloween

    本题主要是存储的问题,在存储上笔者原先的代码占用了大量的内存空间 这边笔者采用暴力的思想直接硬开所有情况的16^6的数组来存储该问题,当然这在时间上是十分浪费的,因为初始化实在太慢了,剩下的就是状态转 ...

  5. CF1700C Helping the Nature

    题目大意: 给出一个长度为 n 的序列 a,每次可以进行三种操作中的一种: 选择i,将 a_1,a_2,...,a_i减1. 选择i,将 a_i,a_i+1,...,a_n减1. 将所有 a_i加1. ...

  6. Junit使用步骤和junit_@Before&@After

    测试: 1.定义一个测试类(测试用例) 建议: 测试类名:被测试的类型Test CalculatorTest 包名:xxx.xxx.xx.test com.li.Test 2.定义测试方法:可以独立运 ...

  7. 【MySQL 8】Generated Invisible Primary Keys(GIPK)

    从MySQL 8.0.30开始,MySQL支持在GIPK模式下运行时生成不可见的主键.在这种模式下运行时,对于任何在没有显式主键的情况下创建的InnoDB表,MySQL服务器会自动将生成的不可见主键 ...

  8. GitHub 主页美化设置教程

    GitHub profile设置教程 早些时候逛GitHub,就发现别人的主页特别的精美,当时没有空研究,前几天得空给安排了一下 先看一下成品 贴一个github上一个男人的主页 下面这个是我的 果然 ...

  9. reactjs中使用threejs从0到1

    搭建本地开发环境 安装nodejs 按照 Create React App 安装指南创建一个新的项目 npx create-react-app react-three-demo 删除掉新项目中 src ...

  10. Vue 下拉框值变动事件传多个参数

    在使用 Vue 进行开发时,下拉框值变动事件 @change 是很常用的. 其传参一般分为两种方式:默认传参和自定义传参. 默认传参 @change 默认会传选中项标识的参数,在传参处不用定义,在方法 ...