报错问题出现原因

第一次使用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 是否安装成功。

Ubuntu安装 jdk.rpm 报错问题解决的更多相关文章

  1. Ubuntu安装Jenkins是报错:The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXX

    我使用Ubuntu16.04安装Jenkins时,按照官网的要求,步骤如下(https://pkg.jenkins.io/debian-stable/): # 添加Key sudo wget -q - ...

  2. ubuntu安装VMware Tools报错enter the path to the kernel header files

    $ sudo apt-get install build-essential linux-headers-$(uname -r) cd /lib/modules/$(uname -r)/build/i ...

  3. 关于ECShop4.0安装时数据库报错问题解决

    是ECShop版本的问题,重点在$db_host不能带端口号,把这个文件 ecshop4\ecshop\install\includes\lib_installer.php 里面3处db_host开头 ...

  4. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...

  5. No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? idea maven 打包报错问题解决

    mvn clean install -X -Dmaven.test.skip=true -P dev 打包报错:No compiler is provided in this environment. ...

  6. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  7. 安装SQl Server 报错 "需要 Microsoft.NET Framework 3.5 ServicePack 1" 解决方法

    前言 之前装Sql Server都没遇到过这样的问题, 昨天重装了系统之后, 然后安装SQl Server 报错,提示 "需要 Microsoft.NET Framework 3.5 Ser ...

  8. 遇到的eclipse启动报错问题解决

    遇到的eclipse启动报错问题解决 一.启动时出现Java was started but returned exit code=13 可能原因: 1.eclipse与JDK的不是都64位或者32位 ...

  9. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量

    go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...

随机推荐

  1. UITextView 实现placeholder的方法

    本文转载至 http://www.cnblogs.com/easonoutlook/archive/2012/12/28/2837665.html 在UITextField中自带placeholder ...

  2. 非旋转Treap

    Treap是一种平衡二叉树,同时也是一个堆.它既具有二叉查找树的性质,也具有堆的性质.在对数据的查找.插入.删除.求第k大等操作上具有期望O(log2n)的复杂度.     Treap可以通过节点的旋 ...

  3. JS-点和中括号

    今天上午做一个很low的小练习,代码写完了想要封装重复利用来着 可是憋屈啊,怎么都不对,在document.style.width这里,想把width变成参数可是用点的话,会报错说找不到点后边这个属性 ...

  4. FileInputStream与FileOutputStream类 Reader类和Writer类 解析

    FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...

  5. python的类继承与派生

    一.继承和派生简介: 其实是一个一个事物站在不同角度去看,说白了就是基于一个或几个类定义一个新的类.比如定义了动物类接着派生出了人类,你也可以说人类继承了动物类.一个意思.此外python类似于C和C ...

  6. Windows Phone 有关独立存储(一)

    private const string foldername = "temp1"; private const string filename = foldername + &q ...

  7. Android中textView自动识别电话号码,电子邮件,网址(自动加连接)

    extends:http://blog.csdn.net/wx_962464/article/details/8471195 其实这个是很简单的,在android中已经为我们实现了,但是我估计很多人都 ...

  8. oracle通过sql随机取表中的10条记录

    oracle通过sql随机取表中的10条记录: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE Row ...

  9. 问答项目---用户注册的那些事儿(JS验证)

    做注册的时候,由于每一个页面都有都要可以注册,可以把注册方法写到一个公用的方法里去,其他方法继承这个方法: 简单注册JS示例: <script type='text/javascript'> ...

  10. csrf_token之全局认证与局部认证

    1.settings.py没有注释到csrf.当post请求的方式会报错. 接下来就解决问题! 1. django中间件 最多5个 - process_request 请求 - process_vie ...