V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
429463267
V2EX  ›  Java

jdk-portable 绿色版带源码注释操作说明

  •  
  •   429463267 · 2019-08-04 18:37:17 +08:00 · 2908 次点击
    这是一个创建于 1930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    jdk-portable 绿色版带源码注释操作说明


    https://github.com/geekyouth/jdk-portable

    为什么会有这个项目:

    • 之前在开发公司的项目时,需要使用代理 ip,但是这个代理 ip 比较矫情,严重依赖低于 jdk8u91(JDK-1.8-91),一般我在给一台工作电脑初始化 JAVA 开发环境时,都会默认安装 Oracle 官网 JDK1.8 的最新版本,于是,就导致了代理 ip 频繁的报错,然后找到故障原因需要切换低版本 jdk,于是就安装了几个版本 jdk 备用;
    • 后来的问题有点奇葩,我的电脑安装不上 jdk1.8-202 以上的版本,点击下一步就闪退,也查不到原因,如果有大佬找到了原因麻烦在此库发表 issue 告知,万分感谢;
    • 再后来的使用过程为了方便,我想能不能直接绿化,不依赖于图形化安装界面,这样我就可以快速切换不同版本了,于是 jdk 目录的画风就是这样了:
      图

    参考链接:JDK 绿色化安装,随意切换多版本 https://blog.csdn.net/u011977189/article/details/78765374

    • 按照上边链接提供的方法,我的确安装了很多版本 JDK,但是用的时候发现阅读源码显示的是反编译的不带注释的代码( var ****),而不是 java 源码,这就比较蛋疼了,于是我反复研究了安装版和绿色版的文件区别,对比了文件个数和大小,没找到破绽,今天无意的机会,被我发现了,最关键的源代码文件 src.zip 才是我们需要的带注释 java 源码的 zip 压缩包,jdk 绿色版完整文件结构如下:

    • src.zip 文件来源:在 exe 安装包解压出来的 CAB9 目录下面的 110 目录,解压获得 src.zip ,复制到解压的 111~/tools,也就是最终的 jdk 主目录下面,否则 idea 查看源码的时候是反编译得到的文件而不是源码,而且没有注释。

    • jdk 其他版本依此类推,推荐使用基数后缀版本,原因:
      https://www.xncoding.com/2018/05/28/java/jdk.html

    每次去 Oracle 官网去下载 JDK,就会发现有两个版本,一个基数版本,一个偶数版本。比如最新的 jdk-8u191 和 jdk-8u192。这是咋回事?
    这是官方对于奇数版本与偶数版本区别的解释:
    从 JDK 版本 7u71 以后,JAVA 将会在同一时间发布两个版本的 JDK,其中:
    奇数版本为 BUG 修正并全部通过检验的版本,官方强烈推荐使用这个版本。
    偶数版本包含了奇数版本所有的内容,以及未被验证的 BUG 修复,Oracle 官方表示:除非你深受 BUG 困扰,否则不推荐您使用这个奇数版本。

    • ~~想要快速获取绿色版 jdk,你可以直接下载这个项目,就可以得到绿色版 jdk~~(网速太慢,我传不上去,这里下载:https://www.oracle.com/technetwork/java/jdk8-downloads-2133151.html,然后手动执行 cmd 脚本赋权,配置环境变量即可食用。
    • idea 指定 jdk 路径以后跑一下 main,看看结果如何。
    9 条回复    2019-08-05 16:47:59 +08:00
    ipwx
        1
    ipwx  
       2019-08-04 18:59:25 +08:00 via Android
    openjdk 对应版本也不能运行?
    ipwx
        2
    ipwx  
       2019-08-04 18:59:50 +08:00 via Android
    毕竟 openjdk 自己就是个 zip
    qiyuey
        3
    qiyuey  
       2019-08-04 23:04:16 +08:00
    一般用 zulu 的,速度挺好的
    ysc3839
        4
    ysc3839  
       2019-08-05 02:18:05 +08:00 via Android
    许多预编译的 openjdk 就是 portable 的 zip 包,直接用这个不好吗? Oracle JDK 还可能有授权问题。
    xy2401
        5
    xy2401  
       2019-08-05 08:57:47 +08:00
    官方的 jdk 直接 解压两次就是绿色版本。。
    xy2401
        6
    xy2401  
       2019-08-05 08:58:45 +08:00
    对了 有几个 文件要用 jdk 工具 再解压。
    cheng6563
        7
    cheng6563  
       2019-08-05 09:16:12 +08:00 via iPhone
    官方 jdk 不是丢 sandboxie 里安装再拷出来就行了?
    arrow8899
        8
    arrow8899  
       2019-08-05 09:39:55 +08:00
    jdk 解压出来就可以直接用啊,根本不用这么麻烦。
    一般都是安装多个 jdk 然后指定路径或是设置环境变量来用。
    nnnToTnnn
        9
    nnnToTnnn  
       2019-08-05 16:47:59 +08:00
    jdk 本来就是绿色的,主要是怕小白不会弄所以 oracle 出来了一个安装包一键搞定,顺带各种检测工具,你看看 openjdk,没人疼,没人爱
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1063 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:39 · PVG 03:39 · LAX 11:39 · JFK 14:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.