报错问题出现原因

第一次使用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. synchronized同步方法

    “非线程安全”其实会在多个线程对同一个对象中的实例变量进行并发访问的时候产生,产生的后果是脏读,也就是取到的数据是被更改过的.而“线程安全”就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象 ...

  2. 代码片段,lucene基本操作(基于lucene4.10.2)

    1.最基本的创建索引: @Test public void testIndex(){ try { Directory directory = FSDirectory.open(new File(LUC ...

  3. 【转】DevOps的前世今生

    转自:http://www.infoq.com/cn/news/2016/09/learn-devops-from-reports 目前在国外,互联网巨头如Google.Facebook.Amazon ...

  4. thinkphp --- 写入日志

    在开发过程中,对于一些参数,不好直接输入或者打印调试,特别是在微信开发过程中,这个时候,通过日志来查看信息就显得格外重要. 下面是在TP3.2.3框架中,写入日志的方法: public functio ...

  5. 在github上参与开源项目日常流程

    转载自:http://blog.csdn.net/five3/article/details/9307041 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登 ...

  6. 170503、centos6.5安装mysql5.6.30

    准备:虚拟机地址:192.168.0.110 安装目录/usr/local/ 首先卸载已经安装的mysql使用命令查看rpm -qa | grep mysql卸载使用 rpm -e xxx 或者 yu ...

  7. Golang OOP、继承、组合、接口

    http://www.cnblogs.com/jasonxuli/p/6836399.html   传统 OOP 概念   OOP(面向对象编程)是对真实世界的一种抽象思维方式,可以在更高的层次上对所 ...

  8. angular $http服务详解

    它是对原生XMLHttpRequest对象的简单封装, 这个方法会返回一个promise对象,具有sccess和error两个方法. 当然,我们也可以在响应返回时用then 方法来处理,会得到一个特殊 ...

  9. 解决 Ubuntu 下 Sublime Text 无法输入中文的问题

    解决 Ubuntu 下 Sublime Text 无法输入中文的问题 1. 安装依赖库 sudo apt-get install build-essential sudo apt-get instal ...

  10. Delphi下使用指针的简单总结(指针的赋值,数组和指针的转换,函数指针的使用)

    由于最近公司太忙,好久没有更新我的BLOG了.原来想着写写关于HOOK驱动的文章,可是最后想想好久已经没有做驱动的东西了,怕写出来有错误,于是作罢.开发游戏也有一段时间了,发现使用DELPHI来开发网 ...