V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
HGladIator
V2EX  ›  Linux

ubuntu 安装 jdk 一直失败

  •  
  •   HGladIator · 2016-10-09 20:53:43 +08:00 · 2577 次点击
    这是一个创建于 2971 天前的主题,其中的信息可能已经有所发展或是发生改变。
    全局变量和局部变量都设置了之后,
    java -version 报错 没有那个文件或目录
    但是我可疑 cd 到那个文件夹下找到 java 这个文件。
    这个是那里出错了,看不懂
    15 条回复    2016-10-13 23:06:57 +08:00
    mikicomo
        1
    mikicomo  
       2016-10-09 23:48:45 +08:00
    你环境变量怎么设置的代码贴一下?
    source 了吗?
    最省心的直接 apt 安装 openjdk 好了
    HGladIator
        2
    HGladIator  
    OP
       2016-10-10 08:27:14 +08:00 via iPhone
    @mikicomo 手机不方便贴, source 了,要是实在不行了再说
    ugugzh
        3
    ugugzh  
       2016-10-10 09:57:29 +08:00
    你检查一下你 jdk 的 bin 目录下的文件有没有执行权限
    HGladIator
        4
    HGladIator  
    OP
       2016-10-10 20:08:04 +08:00
    @ugugzh 都有执行权限
    HGladIator
        5
    HGladIator  
    OP
       2016-10-10 20:10:27 +08:00
    @mikicomo

    /etc/profile 末尾添加
    export JAVA_HOME=/opt/jdk1.8.0_101
    export PATH=${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${PATH}
    export CLASSPATH=.:${JAVA_HOME}/bin:${JAVA_HOME}/jre/lib

    ~/.bashrc 末尾添加
    export JAVA_HOME=/opt/jdk1.8.0_101
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    woyaojizhu8
        6
    woyaojizhu8  
       2016-10-10 20:54:01 +08:00
    @mikicomo 我就是 apt 装了 openjdk 的( default-jdk 这个包),但是不起作用, java -version 显示如下:
    The program 'java' can be found in the following packages:
    * default-jre
    * gcj-5-jre-headless
    * openjdk-8-jre-headless
    * gcj-4.8-jre-headless
    * gcj-4.9-jre-headless
    * openjdk-9-jre-headless
    Try: sudo apt install <selected package>
    其中 openjdk-8-jre-headless 这个包已经因为 default-jdk 的依赖关系而装上了。
    我在 /etc/profile 末尾添加了如下语句:
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    这是为什么呢?
    HGladIator
        7
    HGladIator  
    OP
       2016-10-10 21:25:05 +08:00
    @woyaojizhu8 我安装了很多次 ,也出现过你这样的情况,反正到现在就是没有安装成功
    zc666
        8
    zc666  
       2016-10-11 16:52:12 +08:00 via iPhone
    我在 ubuntu 16.04 也遇到过这个问题,我当时发现 jdk 已经安装好了,但是在终端敲 java 却提示没有安装。

    可能得 将 java 的可执行文件 链接到 /usr/sbin 目录而不是 /usr/bin 目录。
    ilovesusu
        9
    ilovesusu  
       2016-10-11 17:39:29 +08:00
    https://ilovesusu.github.io/2016/05/24/Debian-8-%E5%AE%89%E8%A3%85-SunJdk/
    用这个方法百分之百安装成功,还不需要配置环境变量..
    HGladIator
        10
    HGladIator  
    OP
       2016-10-11 18:45:51 +08:00
    @zc666 我试了一下也不行啊
    zc666
        11
    zc666  
       2016-10-12 09:34:41 +08:00   ❤️ 1
    可能我表述有问题,或者这个方法对你无效。
    1.我表述有问题:
    我的大致经历:
    我在终端敲 java ,然后它提醒我说可以 java 未安装,敲哪些命令命令可以安 java ,但是在 sudo apt 去安装时发现已经是 installed 了。
    然后我在网上找到 java 的安装目录,把 /usr/lib/jvm/java-8-openjdk-amd64/bin/java 这个文件 链接 到 /usr/sbin 目录里,可能要重启终端,再次进入终端时,敲 java 就有正常的结果了。

    $ls /usr/sbin -l |grep java
    lrwxrwxrwx 1 root root 42 9 月 1 19:21 java -> /usr/lib/jvm/java-8-openjdk-amd64/bin/java
    2.这个方法无效:
    我也不是很清楚其他的原因。

    我的疑问:我在 /usr/bin 目录下也发现了一个 java 文件,好像没用
    $ ls /usr/bin -l |grep java
    -rwxr-xr-x 1 root root 2513 2 月 11 2016 dh_nativejava
    lrwxrwxrwx 1 root root 22 8 月 19 01:29 java -> /etc/alternatives/java
    lrwxrwxrwx 1 root root 23 9 月 1 13:09 javac -> /etc/alternatives/javac
    lrwxrwxrwx 1 root root 25 9 月 1 13:09 javadoc -> /etc/alternatives/javadoc
    lrwxrwxrwx 1 root root 23 9 月 1 13:09 javah -> /etc/alternatives/javah
    lrwxrwxrwx 1 root root 23 9 月 1 13:09 javap -> /etc/alternatives/javap
    $file /etc/alternatives/java
    /etc/alternatives/java: broken symbolic link to /usr/lib/jvm/java-9-openjdk-amd64/bin/java

    不知道能不能解决你的问题。
    HGladIator
        12
    HGladIator  
    OP
       2016-10-12 22:19:55 +08:00
    @zc666
    $ ls /usr/sbin -l|grep java
    lrwxrwxrwx 1 root root 4 10 月 12 22:11 java -> java
    怎么链接的有绝对路径啊
    我是在 java 源文件下
    $ sudo ln -s java /usr/sbin/java
    然后这个软链接没有显示绝对路径,
    昨天没有重启,今天重启啦也没用
    zc666
        13
    zc666  
       2016-10-12 23:48:03 +08:00
    你的用法错了,首先你得找到你电脑上 openjdk 的安装目录,找到 java 文件的地址,比如我的是‘/usr/lib/jvm/java-8-openjdk-amd64/bin/java ’

    然后在是将 java 的地址链接到 /usr/sbin 目录,而且 ln 命令错了。你可以到网上搜搜 ln 用法

    ln -s /usr/lib/jvm/java-8-openjdk-amd64/bin/java /usr/sbin/java
    hosiet
        14
    hosiet  
       2016-10-13 08:54:15 +08:00 via Android
    话说这么麻烦是怎么来的?我 apt 装一下 openjdk 直接开箱就用了,根本没碰到任何坑。
    HGladIator
        15
    HGladIator  
    OP
       2016-10-13 23:06:57 +08:00
    @hosiet 我想这个问题应该很简单,所以就想知道为什么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.