一.使用yum命令安装

1.查看是否已安装JDK,卸载

[plain] view plain copy


  1. [root@192~]#yumlistinstalled|grepjava
[plain] view plain copy


  1. java-1.8.0-openjdk.x86_641:1.8.0.121-0.b13.el7_3@updates
  2. java-1.8.0-openjdk-headless.x86_641:1.8.0.121-0.b13.el7_3@updates
  3. javapackages-tools.noarch3.4.1-11.el7@base
  4. python-javapackages.noarch3.4.1-11.el7@base
  5. tzdata-java.noarch2016j-1.el7@updates



卸载CentOS系统Java环境
[plain] view plain copy


  1. [root@192~]#yum-yremovejava-1.8.0-openjdk* *表时卸载所有openjdk相关文件输入
  2. [root@192~]#yum-yremovetzdata-java.noarch卸载tzdata-java


2.安装JDK


[plain] view plain copy


  1. [root@192~]#yum-ylistjava*

[root@192 ~]# yum search java | grep -i –color JDK 查看JDK软件包列表

[plain] view plain copy


  1. [root@192~]#yuminstalljava-1.8.0-openjdkjava-1.8.0-openjdk-devel安装JDK,如果没有java-1.8.0-openjdk-devel就没有javac命令
也可用 yum install java-1.8.0-openjdk* 安装所有java1.8.0所有Java程序
直到控制台返回Complete 安装成功.
[plain] view plain copy


  1. [root@192~]#java-version查看Java版本信息
  2. openjdkversion“1.8.0_121”
  3. OpenJDKRuntimeEnvironment(build1.8.0_121-b13)
  4. OpenJDK64-BitServerVM(build25.121-b13,mixedmode)


3.配置环境变量


通过yum默认安装的路径为 /usr/lib/jvm

[plain] view plain copy


  1. [root@192~]#ls-l/usr/lib/jvm
  2. total0
  3. drwxr-xr-x.3rootroot17Feb918:48java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64
  4. lrwxrwxrwx.1rootroot21Feb918:48jre->/etc/alternatives/jre
  5. lrwxrwxrwx.1rootroot27Feb918:48jre-1.8.0->/etc/alternatives/jre_1.8.0
  6. lrwxrwxrwx.1rootroot35Feb918:48jre-1.8.0-openjdk->/etc/alternatives/jre_1.8.0_openjdk
  7. lrwxrwxrwx.1rootroot51Feb918:48jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64->java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre
  8. lrwxrwxrwx.1rootroot29Feb918:48jre-openjdk->/etc/alternatives/jre_openjdk



JAVA_HOME 指向一个含有java可执行程序的目录(一般是在 bin/java 中,此目录为/bin/java的上级目录),用cd 命令进入到 jvm下唯一的一个目录中java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64,发现其下目录为/jar/bin/ java.
jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64这个链接是指向java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre 这个文件夹,所以,可以直接用export命令将 JAVA_HOME 指向jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64这个链接.

[plain] view plain copy


  1. [root@192~]#exportJAVA_HOME=/usr/lib/jvm/<spanstyle=”font-family:Arial;”>jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64</span>


但是这样只能在当前会话中有效,一旦注销下线,就失效了
所以最好保存到/root/.bashrc文件中 (这个文件是针对指定用户的,如你是叫dabu用户,那么使用dabu用户登陆,然后输入命令:echo $HOME/.bashrc,就会显示你要修改的文件路径)
找到该文件后,在文件底部添加一行 :export JAVA_HOME=/usr/lib/jvm/ jre- 1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64

也可以让系统上的所有用户使用java(openjdk),则配置/etc/profile
[plain] view plain copy


  1. [root@192~]#vi/etc/profile


在文件最后加入如下行
[plain] view plain copy


  1. #setjavaenvironment
  2. JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64
  3. PATH= PATH: JAVA_HOME/bin
  4. CLAsspATH=.: JAVAHOME/lib/dt.jar: JAVA_HOME/lib/tools.jar
  5. exportJAVA_HOMECLAsspATHPATH


保存关闭,执行如下命令使设置生效
[plain] view plain copy


  1. [root@192~]#source/etc/profile


使用以下命令,查看变量
[plain] view plain copy


  1. [root@192~]#echo$JAVA_HOME
  2. /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64
  3. [root@192~]#echo$PATH
  4. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/bin:/root/bin
[plain] view plain copy


  1. [root@192~]#echo$CLAsspATH
  2. .:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/lib/dt.jar:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/lib/tools.jar

使用 java -version 和 javac -version 验证.


如果机器上同时安装了多个jdk的话,Java链接只能指向一个版本的jdk,为了在全局中方便修改jdk版本,

/etc/alternatives/java的java链接,指向默认需要执行的版本的jdk的 /bin/java命令,而 /etc/alternatives/java又会被软连接到 /usr/bin/java.从而java命令就被设置到了shell环境中,系统会自动寻找/usr/bin路径.这样Java命令不用设置环境变量就可以正常运行了.但对于tomcat或其他软件来说还是要设置环境变量.

[plain] view plain copy
  1. [root@192~]#ll/usr/bin/java
  2. lrwxrwxrwx.1rootroot22Feb918:48/usr/bin/java->/etc/alternatives/java
[plain] view plain copy
  1. [root@192~]#ll/etc/alternatives/java
  2. lrwxrwxrwx.1rootroot73Feb918:48/etc/alternatives/java->/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre/bin/java


二.手的下载JDK安装

可以创建一个/usr/java 目录,

[plain] view plain copy
  1. [oot@192~]#mkdir/usr/java
进入该目录下,下载并解压JDK[plain]view plain copy
  1. [root@192java]#wgethttp://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
  2. [root@192java]#tar-xzfjdk-8u25-linux-x64.tar.gz

这里会创建/usr/java/jdk1.8.0_25,这个是JAVA_HOME,我们现在可以设置JAVA_HOME并将它加入环境变量
[plain] view plain copy


  1. [root@srv6java]#JAVA_HOME=/usr/java/jdk1.8.0_25
  2. [root@srv6java]#exportJAVA_HOME
  3. [root@srv6java]#PATH= JAVAHOME/bin: PATH
  4. [root@srv6java]#exportPATH


要将JAVA_HOME设置为永久,我们需要在/root/.bash_profile添加.也可以配置/etc/profile给所有用户,

在profile文件最后追加
[plain] view plain copy
print ?
  1. #setjavaenvironment
  2. exportJAVA_HOME=/usr/java/jdk1.8.0_25
  3. exportPATH= JAVAHOME/bin: PATH
#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_25
export PATH=$JAVA_HOME/bin:$PATH

同上验证

CentOS下用yum命令安装jdk的更多相关文章

  1. ios中的.dylib和.a lib有什么区别?

    我知道Objectivec中的编译和运行时是什么,但是我想知道是什么画了这两个库之间的界限?他们的目的是什么,除了陈述一个是静态的而另一个是动态的?我们何时需要一个而不是另一个?

  2. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  3. ios – iPhone崩溃日志不能正确地符号化并且是双重间隔的

    任何建议超过欢迎.谢谢.解决方法当这件事发生在我身上时,它只是我通过电子邮件收到的日志.如果我记得,至少有一些是在.msg文件中,我不得不把它们拿出来.它可能是Exchange编码更改.如果你显示不可见的字符,你可能会看到每个字符之间的东西.您可以找到并替换它们以删除它们或更改编辑器中的编码.

  4. ios – Xcode 7 beta 2:LaunchScreen.storyboard无法打开文档

    我在两个不同的Mac(iMac和MacBookpro)上收到这个错误.不知道为什么人们不能再现它,但我需要一些帮助.在运行XX优胜美地10.10.4的Mac上运行Xcode7beta2(15六月’15).甚至无法编译和运行我的项目..我从创建菜单创建了一个视图应用程序项目,就是这样.编辑:我试图删除并重新添加storyboard文件(也可以打开Main.storyboard插件),我仍然得到相同的

  5. ios – 为具有多个目标和不同平台的项目编写Podfile

    如何让CocoaPods成功整合到我的项目和iOS/Mac目标?我已经阅读了Podfile文档,但发现它在这方面缺乏.解决方法得到它了!从我的每个目标和运行的pod安装中删除libPods-xxxx.a文件,再次执行了我的目标集成.

  6. iOS中的CocoaPods是什么?

    任何人都可以详细说明iOS开发中的CocoaPods.我似乎无法理解它们是什么.提前致谢.解决方法CocoaPods是我在最近的iOS应用程序开发中发现的最好的东西之一.我用它来获取最新的Github开源项目作为框架和lib到我的项目中.最好的部分是它将自动管理依赖lib,因此无需拖放文件并下载文件夹blaablaaa只需一个简单的代码’podinstall即可!

  7. Swift 2/iOS 9 – libz.dylib找不到

    我在我的新的Swift2.0项目中使用一些来自google的外部代码,在早期版本中需要“libz.dylib”。更新到新的XCode/新的SDK后。

  8. android – 基于JVM的语言,没有语言运行时

    ProGuard可以删除特定程序中未使用的部分运行时.如果速度和时间非常关键,另一种方法是使用NDK.

  9. android – 用我非常简单的calabash测试用例不断得到错误“HTTPClient :: ReceiveTimeoutError”

    我是calabash-android测试自动化库的新手.我花了两天时间来理解这个问题没有成功:(我正在使用calabash-android版本0.8.0,我按照文档pre-definedsteps进行测试.我的测试很简单,只需等待登录界面(这是一个包含id为“email_field”的输入字段的活动),输入用户名和密码.这是我在功能文件中的步骤:当我使用命令calabash-android运行my

  10. Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用

    如果是,我需要做些什么才能使其正常工作?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部