• Ubuntu安装 jdk.rpm 报错问题解决


    报错问题出现原因

    第一次使用Ubuntu操作系统,很多命令及软件安装方式与以往使用的Linux操作系统(CentOS)有很大区别。
    现在总结使用Ubuntu在安装JDK中,遇到的问题及解决方法。

    root@slave1:~/hadoop# rpm -i jdk-7u80-linux-x64.rpm
    rpm: RPM should not be used directly install RPM packages, use Alien instead!
    rpm: However assuming you know what you are doing...

    安装过程问题解决步骤

    百度后发现Ubuntu的软件包格式为deb,而rpm格式的包则是CentOS 相关系统所用的软件包。然后再百度一下,在Ubuntu系统中通过一定的方法也是可以很有效的安装RPM格式包的,只需3步。

    1、首先安装alien这一软件,系统默认没有安装。
    apt-get install alien

    2、使用alien将rpm转化为deb文件
    alien <包名>.rpm  当前安装的 jdk 是在 Oracle官网下载的包 jdk-7u80-linux-x64.rpm
    转换过程会根据rpm包的大小等待一会儿,转换后会生成 ****.deb 文件

    3、然后使用dpkg进行安装
    dpkg -i jdk_1.7.080-1_amd64.deb

    通过以上几个步骤,jdk 已经安装好了。java home 目录在 /usr/java/jdk_version/...

    环境变量问题解决步骤

    接下来就是配置JAVA的环境变量了。
    在CentOS操作系统中,安装好jdk后即使没有配置环境变量直接用 java -version 命令是可以显示所安装的jdk版本的。但是在Ubuntu中配置好环境变量之后还是不可以的(如下图),还需要在进行一些配置。

    出现这个错误的原因是没有找到tools.jar及rt.jar;
    tools.jar是关于一些工具的类库
    rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件。

    usr/java/jdk_version/bin 下面有个unpack200
    usr/java/jdk_version/jre/bin 下面也有个unpack200
    好像使用 usr/java/jdk_version/bin 的 unpack200 就可以了。

    rt.jar 解决办法:
    在 /usr/java/jdk_version/jre/lib 修改 rt.pack  root@master:/usr/java/jdk_version/jre/lib# ../bin/unpack200 rt.pack rt.jar

    tools.jar 解决办法:
    在 /usr/java/jdk_version/lib 修改 tools.pack  root@master:/usr/java/jdk_version/lib# ../bin/unpack200 tools.pack tools.jar

    环境变量配置

    有两种常用的配置方式
    1)/etc/profile 文件配置(全局/所有用户)
    vi /etc/profile
    跳到最后一行,追加JAVA_HOME配置
    export JAVA_HOME=/usr/java/jdk_version
    export PATH=$PATH:$JAVA_HOME/bin
    读取修改后的profile配置文件
    source /etc/profile 或者 . /etc/profile

    2)/etc/environment 文件配置(当前用户)
    在PATH变量后面加上, /usr/java/jdk_version/bin . 注意分隔符为冒号(:),而不是分号(;)
    读取修改后的profile配置文件
    source /etc/profile 或者 . /etc/profile

    最后可以使用 java -version 命令,或者 jps 命令验证 jdk 是否安装成功。

  • 相关阅读:
    Linux系统介绍(二)文件系统结构
    为Docker Swarm添加调度策略
    Docker 三剑客之 Docker Swarm
    Hadoop中文文档
    hadoop 学习笔记:mapreduce框架详解
    Java进阶-- GUI
    ceph(8)--关于Ceph PGs
    今天在学习NTP时发现了2个网站
    开始学红帽的RHCE课堂有2次课了,要记下自己的学习经历
    Switch能否用string做参数
  • 原文地址:https://www.cnblogs.com/chwilliam85/p/9415795.html
Copyright © 2020-2023  润新知