求教一下 Java 到底是个什么怪物呢? jre, jdk, Java se 等等, 8, 9, 10, 11 , oralce Java openjdk - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sjmcefc2
V2EX    Java

求教一下 Java 到底是个什么怪物呢? jre, jdk, Java se 等等, 8, 9, 10, 11 , oralce Java openjdk

  •  
  •   sjmcefc2 2019-04-29 15:19:39 +08:00 7114 次点击
    这是一个创建于 2416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好像差别很大的子。oracle java 和 openjdk 好像安装的时候差别很大。 apt-get install default-jre 这个 openjdk 总是过不了某些依赖。 add-apt-repository ppa:webupd8team/java 这个团队 的又总是不能顺利 update

    想手动安装吧,oracle 网站上那个链接是一个借一个,怎么安装并配置好 java8 呢?

    38 条回复    2019-05-05 02:09:22 +08:00
    wqzjk393
        1
    wqzjk393  
       2019-04-29 15:20:54 +08:00
    一个 intellij 就解决了。。
    sjmcefc2
        2
    sjmcefc2  
    OP
       2019-04-29 15:23:31 +08:00
    debian 下配置开发环境。。。。
    jimrok
        3
    jimrok  
       2019-04-29 15:56:46 +08:00
    @sjmcefc2 商用版本是 oracle 的,但超过服务期就不会有更新,除非买商业服务。如果不想出钱,可以选择阿里,亚马逊维护的 openJDK 版本,他们负责修复一些 bug。jdk 是带编译器,如果你要编译代码就下载 jdk,否则 jre 这种运行环境就可以。8 版本目前用的比较广,后续的版本比较新,建议用 LTS 的版本。
    shylockhg
        4
    shylockhg  
       2019-04-29 16:00:00 +08:00
    docker run -it java
    baozijun
        5
    baozijun  
       2019-04-29 16:02:16 +08:00
    都可以,随便找个 java8 安装就好
    sjmcefc2
        6
    sjmcefc2  
    OP
       2019-04-29 16:45:39 +08:00
    @jimrok 感谢提示。openjdk 在装的时候总是有点问题,javah 之类的总是没有在对的路径里面。感觉很复杂的体系。

    @shylockhg docker 是方便,可是我不是只用 java 啊,其实用 java 也是别的服务。那么一个 java 容器怎么和另一个依赖 java 的容器融合呢
    sjmcefc2
        7
    sjmcefc2  
    OP
       2019-04-29 16:47:00 +08:00
    @baozijun 随便不起来。。。。。
    xdlucky
        8
    xdlucky  
       2019-04-29 16:48:09 +08:00 via iPad
    jre=Java runtime error
    Trim21
        9
    Trim21  
       2019-04-29 16:48:31 +08:00
    @sjmcefc2 按理说一个 docker 应该跑一个进程,所以如果有好几个进行应该用多个 docker 容器一起跑。比如用 docker-compose 来编排多个容器。
    chocotan
        10
    chocotan  
       2019-04-29 16:52:58 +08:00
    过不了依赖是你自己电脑的问题
    我安装各种软件都经常有有依赖不对的情况
    没觉得哪个链接看不懂,从点进 oracle 网站开始,鼠标一共只要点三次就能下下来 jdk8
    sjmcefc2
        11
    sjmcefc2  
    OP
       2019-04-29 17:00:12 +08:00
    @Trim21 这方面有什么编排的经验?我学习一下去。现在是安装 r 的环境,有一个包 xlsx 需要 rjava,rjava 需要 java 环境。
    oliver0909
        12
    oliver0909  
       2019-04-29 17:09:33 +08:00
    用 idea,让 IDE 帮你解决这些问题
    guili618
        13
    guili618  
       2019-04-29 17:18:03 +08:00
    ppa:webupd8team/java 因为 java 最新的协议,貌似已经不提供支持了
    sjmcefc2
        14
    sjmcefc2  
    OP
       2019-04-29 17:19:45 +08:00
    那有什么办法安装>?rpm 自己装?
    @guili618
    jason19659
        15
    jason19659  
       2019-04-29 17:41:55 +08:00
    官网下载,配置环境变量。
    sjmcefc2
        16
    sjmcefc2  
    OP
       2019-04-29 18:43:10 +08:00
    @jason19659 最完整正确的环境变量有模板吗?
    sagaxu
        17
    sagaxu  
       2019-04-29 18:56:28 +08:00 via Android
    apt-get install openjdk-8-jdk
    sjmcefc2
        18
    sjmcefc2  
    OP
       2019-04-29 19:01:29 +08:00
    @sagaxu 不好意思,这个 openjdk-8-jdk 貌似缺少一些东西,导致一直无法正确加载
    1.apt-get install gnupg
    2.apt install software-properties-common
    3.add-apt-repository ppa:webupd8team/java
    4.apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C2518248EEA14886
    5.apt update
    6. apt install oracle-java8-installer 不成功。找不到这个。
    7.javac -version
    8. apt-get install oracle-java8-set-default

    看似没那么简单哈
    sjmcefc2
        19
    sjmcefc2  
    OP
       2019-04-29 19:02:31 +08:00
    sagaxu
        20
    sagaxu  
       2019-04-29 19:04:00 +08:00 via Android
    @sjmcefc2 1,2,3,4 这 4 步都不需要,6,7,8 也不要

    apt-get update
    apt-get install openjdk-8-jdk

    这就是全部了
    sjmcefc2
        21
    sjmcefc2  
    OP
       2019-04-29 19:13:04 +08:00
    @sagaxu 能请教一下环境变量的配置?
    sagaxu
        22
    sagaxu  
       2019-04-29 19:16:05 +08:00 via Android
    @sjmcefc2 一般不需要配置任何环境变量,个别应用需要配 JAVA_HOME。
    Heanes
        23
    Heanes  
       2019-04-29 19:19:39 +08:00   3
    与其遇到问题在网上问怎么解决,花费大量时间,不如前期做好功课,花上一天半天时间了解下 java 发展,搜索下你不了解的词汇的含义,计算机词汇很多缩写,搜索出缩写词汇的全称就会明白很多。网上请教这个请教那个,等的时间恐怕比自己搜索答案更慢
    mritd
        24
    mritd  
       2019-04-29 19:29:43 +08:00 via iPhone
    自己查一下 openjdk 和 oraclejdk 区别,还有,既然用 linux 你应该清楚大部分软件都是 解压到目录配置个环境变量的问题
    guzzhao
        25
    guzzhao  
       2019-04-29 19:57:46 +08:00
    都会 linux 了,jdk 不会安装说不过去吧..
    DarrenLuo
        26
    DarrenLuo  
       2019-04-29 20:53:42 +08:00 via Android
    试一下 sdkman 来配置环境吧
    rb6221
        27
    rb6221  
       2019-04-29 20:57:57 +08:00
    jdk 可以理解为整合的 sdk
    jre 就是 java 程序的运行环境
    所以 jdk=jre+一些其他的工具包
    所以 jdk 有很多种版本
    最主要的就是 openjdk 和 oraclejdk
    6789 这些就是版本号了,正常理解就行
    jason19659
        28
    jason19659  
       2019-04-29 21:41:14 +08:00
    @sjmcefc2 #15
    例:
    ```
    JAVA_HOME=/etc/jdk-11
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME
    export PATH
    export CLASSPATH
    ```
    astkaasa
        29
    astkaasa  
       2019-04-29 22:22:48 +08:00 via iPhone
    环境变量跟你安装什么版本和怎么安装都没关系,你自己随便下个压缩包解压到什么路径都一样用
    boris1993
        30
    boris1993  
       2019-04-29 22:44:15 +08:00 via Android
    JRE = Java Runtime Environment,运行 Java 程序需要的环境
    JDK = Java Development Kit,Java 开发套件,包含开发和运行所需的库
    JVM = Java 虚拟机,与其对应的有一套标准化的规范

    Oracle JDK 为 Oracle 出品的商业的 JDK
    OpenJDK 是社区根据 JVM 规范所定制的自由开放的 JDK

    8,9,10,11 是版本号,其中 8 和 11 是长期支持(LTS)版本
    orm
        31
    orm  
       2019-04-29 22:52:22 +08:00
    https://www.azul.com/downloads/zulu/
    给你一个由 azul systems 公司的 openjdk,redhat 系的 RPM 包,或者 yum 方式安装; debian 系的 deb 包,或者 apt 方式安装,另外 redhat 与 debian 用包管理器安装的,是不用配置环境变量,如果安装多个 openjdk 版本,可以使用 sudo update-alternatives --config java 进行切换 jdk 版本
    passerbytiny
        32
    passerbytiny  
       2019-04-29 23:12:59 +08:00
    Java 并不是一个能快速入门的技术。当然 apt-get 安装不了是 Ubuntu 的锅。至于 Openjdk 那复杂的命名和依赖,是 Openjdk 最初的提供者 Oracle 的锅,我这个十年 Java 不靠 Google 也搞不明白。在 Window 上 Oracle 的锅更扯淡,PATH 都弄不好。
    sjmcefc2
        33
    sjmcefc2  
    OP
       2019-04-30 07:34:28 +08:00
    @jason19659 非常感谢。
    @boris1993 谢谢指点。

    @orm 这个好像很好的样子。
    @passerbytiny 觉得 java 是个怪兽啊

    另外,发现是因为 source 没有生效,不知道为什么?
    重启完成,好了。真实奇怪的。
    觉得还是朝着 docker compose 方面走比较好。
    wc951
        34
    wc951  
       2019-04-30 08:16:48 +08:00 via Android
    先随便找个 java8 开始写 demo,初级使用根本用不到那些区别
    daodao116
        35
    daodao116  
       2019-04-30 09:10:50 +08:00
    不同版本的 jdk,实际上是一套规范,各个公司有不同的实现而已,对于学习来说,就上 oracle 下个 1.8 先玩起来好了。
    gongxufan
        36
    gongxufan  
       2019-04-30 13:58:15 +08:00
    关键看项目线上环境是哪个版本
    yejianmail
        37
    yejianmail  
       2019-05-01 08:20:59 +08:00 via Android
    反正我 win 和 linux 下全是不安装只解压配置下环境就可以了
    wiix
        38
    wiix  
       2019-05-05 02:09:22 +08:00
    @yejianmail +1
    配个 JAVA_HOME,再把 bin 加到 path 里。
    两步足够了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2279 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:05 PVG 00:05 LAX 08:05 JFK 11:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86