下面以CentOS为例,详细说一下Linux下配置JDK的过程

  首先按照约定俗成的习惯,将jdk放在/usr/local/java下,首先进入/usr/local然后新建一个目录java

  

  然后我们需要下载最新的jdk程序包,可以在本地下载好然后上传到服务器中也可以在服务器中直接下载,如果在本地下载,应该访问Oracle官网下载页面

  网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html

  

  点击Java Platform (JDK) 8u65 / 8u66下载进入最新版本下载页面

  然后选择同意协议,下载对应的Linux版本,我这里下载的是:64位的jdk-8u65-linux-x64.tar.gz

  

  下载完毕后,上传到服务器即可,或者直接用命令行进行在线下载,只是不能直接用wget url这样下载,因为没有同意协议这一步,所以应该设置一个同意协议的http头用来发送cookie请求,命令如下:

wget --no-check-certificate --no-cookie --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.tar.gz

后面就是下载链接,现在稍微等待屏幕滚动进度条下载完毕就可以了

  

  然后我们将归档文件释放:

tar xvf jdk-8u65-linux-x64.tar.gz

  

  释放后,可以看到目录,现在可以删除下载的.tar.gz文件了

  

  释放完毕就算安装好了,接下来配置环境变量就可以了,用vim打开/etc/profile文件来进行全局配置

vim /etc/profile

  

  打开之后光标移到最后一行,进入编辑模式,最后一行可能会有原来配置好的PATH,所以我们先在PATH后面追加一个冒号:,然后追加$JAVA_HOME/bin,然后另起一行继续编辑:

JAVA_HOME=/usr/local/java/jdk1..0_65
JRE_HOME=/usr/local/java/jdk1..0_65/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME CLASSPATH

  

  这里多配置了一个JRE_HOME后面写起来更简单了,其实可以自己灵活的定义,把PATH写在最上面可以避免多版本存在时不能覆盖旧版本的问题,因为环境变量文件系统读取时是顺序加载的,当然我们这里是纯净的系统安装jdk,如果有多个jdk建议卸载原有的jdk然后再进行安装,避免版本问题

  到现在环境变量配置好了,保存退出vim,然后利用source命令让文件立即生效

source /etc/profile

  

  ok,到现在jdk全部搞定,现在在任意一个地方输入java、java -version、javac都可以正确执行了,也可以编译一个简单的源码文件试试看

  下面补充一下,/etc/profile是属于全局的环境变量,也就是说这种配置对于任何用户任何应用都是有效的,对于应用程序来说任何时候都可以使用,但是由于我们把PATH变量写在上面了,所以会出现一个问题,我们每次通过ssh连接终端的时候都要source一下/etc/profile才可以生效,因为$JAVA_HOME已经定义,但是PATH没有赋值,所以需要source,这样比较麻烦,所以推荐一种通用的方式来写,如下:

JAVA_HOME=/usr/local/java/jdk1..0_65
JRE_HOME=/usr/local/java/jdk1..0_65/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME CLASSPATH export PATH=$PATH:$JAVA_HOME/bin

  按照这样的话,不管后来要添加多少环境变量,都是把path写在最下面,并且直接在$PATH后追加新的PATH即可,不会影响原有的任何变量,并且保存并source一次即可永久生效,建议使用这种方法

  另外还有一种方法是配置用户目录下对应的环境变量文件,这个是对于bash默认只针对对应的用户,也就是路径~/.bash_profile的文件,对于root用户就是/root/.bash_profile文件,那么对于用户来说,只要source一次就会将用户变量永久写入内存,这个和全局的是不一样的,全局的默认只会导入一次,而用户的导入之后会一直伴随用户,所以配置用户变量也是一种方法,配置方法是用vim /root/.bash_profile打开这个文件进行编辑,如果PATH变量已经存在就直接追加就可以了,具体代码如下:

PATH=$PATH:$JAVA_HOME/bin
export PATH
JAVA_HOME=/usr/local/java/jdk1..0_65
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib
export CLASSPATH

  

  保存之后用source /root/.bash_profile让文件生效就行了

  由于只是简单地命令行操作,所以CLASSPATH就只写lib目录就可以了,不会影响应用程序的任何使用,现在无论什么时候连接终端,jdk开发环境的命令都可以正常使用了

Linux下配置JDK的更多相关文章

  1. 在Linux下配置jdk的环境变量

    jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在根目录新建s ...

  2. linux下配置jdk+tomcat

    安装软件包 下载jdk和tomacat安装包,我这里使用的是jdk-8u144-linux-x64.tar.gz和apache-tomcat-8.5.23.tar.gz. 分别解压这两个安装包,用命令 ...

  3. 云服务器之——Linux下配置JDK环境

    在Linux下jdk的安装已经操作了很多次,每次发现自己还是会忘记之前的操作,所以今天就简单的来做个记录. 第一步:下载jdk安装包 登录oracle官网:https://www.oracle.com ...

  4. Linux下配置JDK与Tomcat

    一.下载安装对应的jdk,并配置Java环境. 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-down ...

  5. linux下配置jdk,tomcat,mysql,redis,zookeeper

    jdk: 解压: tar zxvf jdk-8u144-linux-x64.tar.gz 执行:vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0 ...

  6. Linux下配置JDK环境

    安装前需要查询Linux中是否已经存在jdk 如果存在,将存在的jdk删除 在/etc/profile中添加以下 JAVA_HOME为jdk的安装目录 PATH为jdk可执行文件的目录 使用sourc ...

  7. linux 下配置jdk

    去java官方地址下载相应的源码包我下载的是1.8.0放在usr/local目录下 export JAVA_HOME=/usr/local/jdk1.8.0export PATH=$JAVA_HOME ...

  8. 转:linux下配置JDK提示tools.jar/dt.jar权限不够

    原文:http://lkf009.iteye.com/blog/1327912 提示权限不够的原因:CLASSPATH=.;$JAVA_HOME/lib/tools.jar;$JAVA_HOME/li ...

  9. CentOS 下配置JDK

    从官网上下载jdk到系统中,并解压好 tar –axvf jdk.tr.gz 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找 ...

随机推荐

  1. 16.(转) Android之Support v4、v7、v13的区别和应用场景

    我们在项目中经常会碰到Android Support v4.v7和v13包兼容问题,所以有必要梳理下这些东西. google提供了Android Support Library package 系列的 ...

  2. BZOJ4241 历史研究

    Description IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件. ...

  3. Deformity PHP Webshell、Webshell Hidden Learning

    目录 . 引言 . webshell原理介绍 . webshell的常见类型以及变种方法 . webshell的检测原理以及检测工具 . webshell隐藏反检测对抗手段 0. 引言 本文旨在研究W ...

  4. 使用multi curl进行http并发访问

    curl是一款利用URL语法进行文件传输的工具,它支持多种协议,包括FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET等,我们既可以在命令行上使用它,也可以利用 libcur ...

  5. List<T> 序列化与反序列化

    [Serializable] public class OrderHead { public String OrderId { get; set; } public String OrderName ...

  6. 网友微笑分享原创Jquery实现瀑布流特效

    首先非常感谢网友微笑的无私分享,此Jquery特效是一款非常流行和实用的瀑布流布局,核心代码只有几十行,是我见过代码量最少的瀑布流布局,非常适合网友们学习哦,希望大家好好看一下这个Jquery特效的原 ...

  7. 修改更新源sources.list,提高软件下载安装速度(提供Kali 2.0 更新源)

    1.切换到root用户(如果已经是root用户就直接看第二步) dnt@HackerKali:~$ su 密码: 2.用文本编辑器打开sources.list,手动添加下面的更新源 root@Hack ...

  8. 繁华模拟赛 David与Vincent的博弈游戏

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  9. MySQL之aborted connections和aborted clients

    影响Aborted_clients 值的可能是客户端连接异常关闭,或wait_timeout值过小. 最近线上遇到一个问题,接口日志发现有很多超时报错,根据日志定位到数据库实例之后发现一切正常,一般来 ...

  10. Forth scrum meeting - 2015/10/29

    今天下午,我们终于要到了MOOC服务器端开发人员的联系方式,于是我们小组派了三名同学去实验室与他们进行了交流,并咨询了他们一些关于API接口的问题.他们也对我们这个客户端的开发提出了一些建议. 开发团 ...