首页 技术 正文
技术 2022年11月13日
0 收藏 619 点赞 2,378 浏览 1616 个字

码农博客 即将到期,现将博客中部分文章转载到博客园。本文发表与2012年,转载时略有删减
安装JDK其实只要搞定两个问题,安装目录以及配置文件。如果你只想要快速安装JDK,请略过此部分直接看安装篇。

分析篇

目录分析

网上的安装JDK资料中安装目录基本有两种——/opt和/usr/local。这两个目录安装在哪里其实都无所谓,只不过在以前的linux中人们习惯将软件安装在/usr/local中。这里推荐/opt目录。
配置文件分析
网上好多人提到了/etc/environment,/etc/profile,/etc/bash.bashrc,~/.bashrc 这四个配置。那JDK环境变量到底应该配在哪里呢?

各配置文件意义

  • /etc/environment:设置整个系统的环境,与登录用户无关
  • /etc/profile:系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行并从/etc/profile.d目录的配置文件中搜集shell的设置
  • /etc/bash.bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
  • ~/.bashrc: 该文件包含专用于该登录用户bash shell的bash信息,当登录时以及每次打开新的shell时该该文件被读取

各配置的生效时间

  • /etc/environment:重启生效
  • /etc/profile:注销后登录生效
  • /etc/bash.bashrc:重新打开bash shell后生效
  • ~/.bahsrc:重新打开bash shell后生效

对于安装JDK来说,JDK的环境变量肯定是与用户有关的,所以/etc/environment就不太适合,而用户可能不只一个,所以 ~/.bahsrc也不适合。
我首先想到的就是将JDK环境变量配置在/etc/profile中。可是这样遇到了点小问题。 配置好后注销系统后登录,对于普通用户java环境变量生效了,但sudo su获得root权限后java环境变量就不可用了。如下图:
ubuntu下安装JDK详解

查阅资料,可以su – root这样切换到root用户后才会生效。如下图:
ubuntu下安装JDK详解

如果你此时使用root用户登录,运行java -version看的话其实JDK环境变量是生效的。我怀疑sudo su虽然获得了root权限,但是root用户是没有登录的,所以root用户就没有执行/etc/profile。还有man su,“-”的意思是“使得shell为可登录的shell”。
另外如果将JDK环境变量配置在/etc/bash.bashrc中,如果java程序不是在shell中启动的,比如eclipse,这样就读不到JDK环境变量,导致无法运行。
经过上面的分析给出解决方案:
将JDK同时配置在/etc/profile和/etc/bash.bashrc中

安装篇

一、下载JDK安装文件

32位系统请下载 jdk-6u37-linux-i586.bin
64位系统请下载 jdk-6u37-linux-x64.bin
我这里使用64位版本

二、拷贝JDK文件到/opt目录

# mv jdk-6u37-linux-x64.bin /opt

三,授权,并执行

 chmod +x jdk-6u37-linux-x64.bin ./jdk-6u37-linux-x64.bin

四,设置环境变量

 vim /etc/profile vim /etc/bash.bashrc

在两个文件的末尾都加上下面一段

#set java environmentexport JAVA_HOME=/opt/jdk1.6.0_37export JRE_HOME=/opt/jdk1.6.0_37/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

五,重新打开终端,搞定

java –version
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,498
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,136
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,300