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

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

  •  
  •   sjmcefc2 · 197 天前 · 4481 次点击
    这是一个创建于 197 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好像差别很大的样子。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
        1
    wqzjk393   197 天前
    一个 intellij 就解决了。。
        2
    sjmcefc2   197 天前
    debian 下配置开发环境。。。。
        3
    jimrok   197 天前
    @sjmcefc2 商用版本是 oracle 的,但超过服务期就不会有更新,除非买商业服务。如果不想出钱,可以选择阿里,亚马逊维护的 openJDK 版本,他们负责修复一些 bug。jdk 是带编译器,如果你要编译代码就下载 jdk,否则 jre 这种运行环境就可以。8 版本目前用的比较广,后续的版本比较新,建议用 LTS 的版本。
        4
    shylockhg   197 天前
    docker run -it java
        5
    baozijun   197 天前
    都可以,随便找个 java8 安装就好
        6
    sjmcefc2   197 天前
    @jimrok 感谢提示。openjdk 在装的时候总是有点问题,javah 之类的总是没有在对的路径里面。感觉很复杂的体系。

    @shylockhg docker 是方便,可是我不是只用 java 啊,其实用 java 也是别的服务。那么一个 java 容器怎么和另一个依赖 java 的容器融合呢
        7
    sjmcefc2   197 天前
    @baozijun 随便不起来。。。。。
        8
    xdlucky   197 天前 via iPad
    jre=Java runtime error
        9
    Trim21   197 天前
    @sjmcefc2 按理说一个 docker 应该跑一个进程,所以如果有好几个进行应该用多个 docker 容器一起跑。比如用 docker-compose 来编排多个容器。
        10
    chocotan   197 天前
    过不了依赖是你自己电脑的问题
    我安装各种软件都经常有有依赖不对的情况
    没觉得哪个链接看不懂,从点进 oracle 网站开始,鼠标一共只要点三次就能下下来 jdk8
        11
    sjmcefc2   197 天前
    @Trim21 这方面有什么编排的经验?我学习一下去。现在是安装 r 的环境,有一个包 xlsx 需要 rjava,rjava 需要 java 环境。
        12
    oliver0909   197 天前
    用 idea,让 IDE 帮你解决这些问题
        13
    guili618   197 天前
    ppa:webupd8team/java 因为 java 最新的协议,貌似已经不提供支持了
        14
    sjmcefc2   197 天前
    那有什么办法安装>?rpm 自己装?
    @guili618
        15
    jason19659   197 天前
    官网下载,配置环境变量。
        16
    sjmcefc2   197 天前
    @jason19659 最完整正确的环境变量有模板吗?
        17
    sagaxu   197 天前 via Android
    apt-get install openjdk-8-jdk
        18
    sjmcefc2   197 天前
    @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

    看似没那么简单哈
        20
    sagaxu   197 天前 via Android
    @sjmcefc2 1,2,3,4 这 4 步都不需要,6,7,8 也不要

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

    这就是全部了
        21
    sjmcefc2   197 天前
    @sagaxu 能请教一下环境变量的配置?
        22
    sagaxu   197 天前 via Android
    @sjmcefc2 一般不需要配置任何环境变量,个别应用需要配 JAVA_HOME。
        23
    Heanes   197 天前   ♥ 3
    与其遇到问题在网上问怎么解决,花费大量时间,不如前期做好功课,花上一天半天时间了解下 java 发展,搜索下你不了解的词汇的含义,计算机词汇很多缩写,搜索出缩写词汇的全称就会明白很多。网上请教这个请教那个,等的时间恐怕比自己搜索答案更慢
        24
    mritd   197 天前 via iPhone
    自己查一下 openjdk 和 oraclejdk 区别,还有,既然用 linux 你应该清楚大部分软件都是 解压到目录配置个环境变量的问题
        25
    guzzhao   197 天前
    都会 linux 了,jdk 不会安装说不过去吧..
        26
    DarrenLuo   197 天前 via Android
    试一下 sdkman 来配置环境吧
        27
    janus77   197 天前
    jdk 可以理解为整合的 sdk
    jre 就是 java 程序的运行环境
    所以 jdk=jre+一些其他的工具包
    所以 jdk 有很多种版本
    最主要的就是 openjdk 和 oraclejdk
    6789 这些就是版本号了,正常理解就行
        28
    jason19659   197 天前
    @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
    ```
        29
    astkaasa   197 天前 via iPhone
    环境变量跟你安装什么版本和怎么安装都没关系,你自己随便下个压缩包解压到什么路径都一样用
        30
    boris1993   197 天前 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)版本
        31
    orm   197 天前
    https://www.azul.com/downloads/zulu/
    给你一个由 azul systems 公司的 openjdk,redhat 系的 RPM 包,或者 yum 方式安装; debian 系的 deb 包,或者 apt 方式安装,另外 redhat 与 debian 用包管理器安装的,是不用配置环境变量,如果安装多个 openjdk 版本,可以使用 sudo update-alternatives --config java 进行切换 jdk 版本
        32
    passerbytiny   197 天前
    Java 并不是一个能快速入门的技术。当然 apt-get 安装不了是 Ubuntu 的锅。至于 Openjdk 那复杂的命名和依赖,是 Openjdk 最初的提供者—— Oracle ——的锅,我这个十年 Java 不靠 Google 也搞不明白。在 Window 上 Oracle 的锅更扯淡,PATH 都弄不好。
        33
    sjmcefc2   197 天前
    @jason19659 非常感谢。
    @boris1993 谢谢指点。

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

    另外,发现是因为 source 没有生效,不知道为什么?
    重启完成,好了。真实奇怪的。
    觉得还是朝着 docker compose 方面走比较好。
        34
    wc951   197 天前 via Android
    先随便找个 java8 开始写 demo,初级使用根本用不到那些区别
        35
    daodao116   197 天前
    不同版本的 jdk,实际上是一套规范,各个公司有不同的实现而已,对于学习来说,就上 oracle 下个 1.8 先玩起来好了。
        36
    gongxufan   196 天前
    关键看项目线上环境是哪个版本
        37
    yejianmail   196 天前 via Android
    反正我 win 和 linux 下全是不安装只解压配置下环境就可以了
        38
    wiix   192 天前
    @yejianmail +1
    配个 JAVA_HOME,再把 bin 加到 path 里。
    两步足够了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4057 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 05:55 · PVG 13:55 · LAX 21:55 · JFK 00:55
    ♥ Do have faith in what you're doing.