在Linux环境下采用压缩包方式安装JDK 13
本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11663731.html
可以,转载,出处,格式,懂??
什么是JDK??
好吧如果你不知道这个问题的话我实在是不知道你为什么要装这个东西。
JDK(Java Development Kit)是Sun公司(后被Oracle收购)推出的面向对象程序设计语言的开发工具包,拥有这个工具包之后我们就可以使用Java语言进行程序设计和开发。
而今天我们要在Linux环境 下对这个东西进行部署以便能够进行开发,并且是以压缩包解压的方式进行安装,之所以不用rpm方式安装主要是为了能够在所有Linux系统上都通用,rpm和deb最多只能在Red Hat和Debian旗下的Linux系统上分别安装,而且还会有互相转换的问题,但是用压缩包就没有这个问题了,尽管相对要繁琐一些。
操作系统:CentOS Linux Release 8.0.1905 (Core)
环境:Virtual Box 虚拟机
那我只想让Java的程序能够在我这上运行呢??
如果你实在懒得找或者找不到JRE的安装教程的话,那你权且也可以跟着这个流程一起走下来,保证你的Java程序确实能够运行,只是你的Linux操作系统上会多出来很多你实际上完全不需要的东西。
如果我想安装其他的版本呢??
JDK 8及以下的版本可能与此有所区别,请参考其他专门安装JDK 8的安装过程。
JDK 10以上应该可这个过程大体没有太多区别,不过参考的时候请务必注意有些位置需要换成你当前的版本代号。
你为什么要在Linux上安装呢??你不是更喜欢在Windows平台拿Eclipse做Java开发吗??
你的问题还真是多啊,你说得对,但是在特别需求的情形下,我不得不采取一些“我不喜欢”的行为。
而这个就是一个,因为我需要在Linux平台下部署Hadoop,而新安装的CentOS里面根本没有Java的环境:
[user@localhost /]$ java -version
bash: java: 未找到命令...
而Java SE是Hadoop的一个先决条件
而且如果部署好了的话我也可以用Linux做Java开发了岂不美哉??
但是看起来网上的同类的教程非常多啊
我什么时候说过这是一篇教程了??这只是作为我的一次过程记录而已,如果可能的话我也希望它能够成为其他人的参考,而且我也参考了很多人的安装过程,最终我成功了。
站在了无数巨人的肩膀上。
好了不多说了,那就开始吧。
嗯,确实如此。首先需要安装一个Linux的系统,没必要是CentOS,也可以是Ubuntu、Fedora 、Debian什么的随你喜欢,用不用GUI也无所谓,因为即使我安装了一个带有GUI的CentOS,我的安装过程实际上是用bash指令完成的。
在实际进行安装之前,我必须提前说明:
和Windows不一样,Linux系统是对大小写敏感的,也就是说
/Somewhere/a.zip
和/somewhere/A.zip
并不在同一目录下,也不是同一个文件名,这点请务必注意!!!
下文中出现的所有shell指令的真正内容都是从$
之后开始的。
至于你是实体机还是虚拟机这个区别应该不大,你可以实际拿个U盘去装也可以下个VMWare或者Virtual Box什么的。这里我不做说明。
下载JDK压缩包
总之,CentOS 8我安装好了,当然你可能用的是Ubuntu 16.04什么的这个就随便了,接下来要从网络上下载一个JDK13的压缩包(jdk-13_linux-x64_bin.tar.gz
)
这里假设你无论是GUI下载还是
wget
下载方式,你都已经把压缩包下载至/usr/download
目录下了
如果你的Linux系统有GUI并且系统预装了Firefox,那么你可以像在Windows里一样拿Firefox火速冲到JDK的下载地址,像这样:
如果没有GUI的话,你可以用wget
指令:
[user@localhost /usr/lib/jvm/jdk-13]$ su root # 整个过程需要提升为root权限进行,因为普通用户不可以在usr、etc文件夹及它们的子文件夹下进行修改
[root@localhost /]$ mkdir /usr/download # 如果你没有这个目录的话就先键入这个指令,否则直接看下一句
[root@localhost /]$ cd /usr/download
[root@localhost /usr/download]$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz"
注意:因为Oracle官网要求必须登录Oracle账号才能下载JDK等内容,所以直接键入
wget https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz
下载出来的
jdk-13_linux-x64_bin.tar.gz
只有5KB(实际上应当是180MB),那个东西根本就不是压缩包而是一个请求页面而已。所以如果通过命令行的方式下载只能通过上面的方式进行下载
下载好了之后查看一下jdk-13_linux-x64_bin.tar.gz
的属性:
[root@localhost /]$ ls -al jdk-13_linux-x64_bin.tar.gz
-rw-rw-r--. 1 user user 188711447 9月 19 11:13 jdk-13_linux-x64_bin.tar.gz
在一些Linux操作系统下,此时文件名的位置被显示为红色,意思是说:
这是一个压缩文件
所以不必担心,这不是错误,你可以继续进行。
如果你发现
188711447
(约180MB)被5307
(约5KB)(也就是说文件大小严重不一致)替代了意味着你的下载链接是错误的,请详细阅读上文“注意”里面的内容然后用rm jdk-13_linux-x64_bin.tar.gz
删掉这个文件并重新下载,如果大小不一致但是差不多大有可能是你下载了其他的版本,也有可能是压缩包损坏了,如果是后者请重新下载。
我无法连接到互联网,但我在一个局域网络下,并且同网络下其他的机器上有压缩包
那……配置好此系统的网络和SSH协议,然后在安装源主机上建立SSH远程连接,通过SSH的ftp将源主机的压缩包发送到目标机器上然后继续,具体过程以后再说……
解压JDK安装包中的文件
接下来使用tar指令解压压缩包,解压至/usr/lib/jvm
目录下:
[root@localhost /usr/download]$ mkdir /usr/lib/jvm
[root@localhost /usr/download]$ tar -xf jdk-13_linux-x64_bin.tar.gz -C /usr/lib/jvm #-- 这一步请耐心等待一会,需要一段时间
[root@localhost /usr/download]$ cd /usr/lib/jvm
[root@localhost /usr/lib/jvm]$ ls
jdk-13
你会看到在/usr/lib/jvm
下存在一个叫做jdk-13
的文件夹,我们进去看看
[root@localhost /usr/lib/jvm]$ cd jdk-13
[root@localhost /usr/lib/jvm/jdk-13]$ ls
bin conf include jmods legal lib man release
至此,JDK的所有组件都已经备齐了,接下来要进行配置。
添加环境变量
注意:这里要求使用VIM
- 如果你会使用VIM
- 啊,那没问题,继续吧
- 如果你不会使用VIM
- 如果你使用的Linux系统带有GUI界面
- 你可以使用预装的文本编辑器进行编辑,就像在Windows里面使用记事本那样。
- 否则
- 如果你想了解VIM
- 找其他人的教程看看VIM的基本操作方法
- 否则,如果你有值得信赖且能力够强的朋友的话
- 找他帮你弄弄
- 否则
- emmm……我在此由衷地替您感到悲哀
在Windows下使用安装程序安装的时候一般来说环境变量是被自动配置好的,但是很可惜我们现在是手动安装,JDK的工作依赖于大量的环境变量中的路径。
好像Oracle系的软件都是这副死亚子,比如Oracle DB……
JDK需要这样几个环境变量:
JAVA_HOME
:Java的主目录,你把压缩包包解压之后得到的jdk-13
文件夹所在的位置(并且包含jdk-13
自身)JRE_HOME
:JRE的主目录,JRE是运行Java应用程序的最基本软件环境,所以如果你只是希望Java的程序能够运行的的话你完全不需要安装JDK,尽管JDK里面带有JRE。CLASSPATH
:Java提供的标准或公共类库的位置PATH
:这是系统的环境变量,这个东西只是告知系统你的Java开发环境被安装在了什么位置,这个东西使你在任意目录下都可以直接执行Java的开发工具比如javac
等,直接键入javac
就可以执行而不需要再重新键入/usr/lib/jvm/jdk-13/bin/javac
。
Linux系统下的环境变量被存储于若干个文件里,其作用范围有所不同,有的只作用于当前用户,而有的作用于全体用户。而我们这里的环境直接对全体用户生效就可以了(因为除了root
就我一个用户user
),所以,这里我们会对/etc/profile
进行修改。
不过我们现在知道JAVA_HOME=/usr/lib/jvm/jdk-13
,这个目录意思是说包含了所有和Java运行环境相关的东西,我们看看里面都有什么
[user@localhost /usr/lib/jvm/jdk-13]$ ls
bin conf include jmods legal lib man release
其中bin
是Java所有开发工具(通常是可执行的应用程序)所在的目录,而lib
里面则是Java提供的公共类库,当然这个也就是我们在找的CLASSPATH
了。
那么,JRE_HOME
怎么办呢??
早在JDK 8的时候,安装好的JAVA_HOME
下能够找到一个叫做jre
的文件夹,但是到JDK 13的时候刚才也看了,哪里有jre
呢??
其实不用考虑这个问题,因为新版本的JDK不仅附带JRE,而且把JRE组件直接毁进JDK了,所以JRE_HOME
可以直接给成JAVA_HOME
就可以了。
因此我们用VIM打开/etc/profile
(因为是)进行编辑:
[root@localhost /usr/lib/jvm/jdk-13]$ vim /etc/profile
在这个文件开头加入如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk-13
export JRE_HOME=/${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/libss:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后:wq
保存退出,不过因为只是写在了文件里,这些环境变量并没有被实际的构建到内核中,因此需要手动执行一下这个文件。
[root@localhost /usr/lib/jvm/jdk-13]$ source /etc/profile
[root@localhost /usr/lib/jvm/jdk-13]$ exit #退出root权限
至此,安装过程全部结束,JDK可以正常工作了,我们可以用下面这个指令检验一下:
[user@localhost /usr/lib/jvm/jdk-13]$ java -version
现在我们可以在Linux系统上使用JDK13进行开发了。
既然装好了,不妨我们试一下吧!
说得对!!我们已经摩拳擦掌了,那就编写一个Java程序测试一下吧!
随便在某个位置建个文件夹编写一个Hello World试试看吧:
[user@localhost /usr/lib/jvm/jdk-13]$ mkdir ~/jsrc
[user@localhost /usr/lib/jvm/jdk-13]$ cd ~/jsrc
[user@localhost ~/jsrc]$ vim Hello.java
/// Hello.java
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}
[user@localhost ~/jsrc]$ javac Hello.java
[user@localhost ~/jsrc]$ ls
Hello.class Hello.java
[user@localhost ~/jsrc]$ java Hello
Hello
Ah, finally ...
开心!!
当然,之后我还会同样记录Hadoop的安装过程等等更多的东西,敬请关注!!
以上。
在Linux环境下采用压缩包方式安装JDK 13的更多相关文章
- Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin)
Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin) 一,查看是否安装jdk: # rpm -qa | grep jdk 或者 #rpm -q jdk 或者 # ...
- linux环境下,接着lnmp,安装redis
linux环境下,安装redis 操作记录: 回到家目录 cd ~查看 ls进入 lump cd lnmp1.3-fullls??? sudo ./addons.sh //---进入后选 ...
- Linux环境下SVN服务器端的安装与配置
最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...
- 在Windows下通过压缩包方式安装MySQL
需求:下载MySQL有两种方法,一是下载可执行文件,通过点点点的方式,比较简单没什么技术含量,但是之前通过此方法下载的MySQL与Python进行连接交互的时候总是报1045错误,一直没找到原因,尝试 ...
- 离线环境下使用二进制方式安装配置Kubernetes集群
本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...
- Linux环境下的Docker的安装和部署、学习-一
CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 前提条件目前,CentOS 仅发行版本中 ...
- Linux环境下Node.js的安装配置
1. 官网下载Node.js 2. 安装Node.js 根据下载内容的不同,提供三种安装方法,选择自己喜欢的方式 2.1. 绿色免安装版(Linux(.tar.gz)) 解压Node-XX ...
- Linux环境下Apache ActiveMQ 基本安装
原文链接:https://www.jianshu.com/p/1c017088aa95 在linux上安装mq,并映射到外网.1.Apache ActiveMQ安装基本条件请参考链接:2.下载Apac ...
- 【linux环境下】RabbitMq的安装和监控插件安装
[注意安装过程中,提示某些命令not found,直接yum isntall一下就好了] 以下是我在CentOS release 6.4下亲测成功的. RabbitMq的安装: RabbitMQ是 ...
随机推荐
- JUC(1)
cmd目录切换 D:\>cd /d D:\Program Files\Java\jdk1.8.0_201\bin 1. JUC 简介 在 Java 5.0 提供了 java.util.concu ...
- AOE工程实践-银行卡OCR里的图像处理
作者:杨科 近期我们开发了一个银行卡 OCR 项目.需求是用手机对着银行卡拍摄以后,通过推理,可以识别出卡片上的卡号. 工程开发过程中,我们发现手机拍摄以后的图像,并不能满足模型的输入要求.以 And ...
- (转)java程序调用内存变化过程分析(详细)
原博地址: https://blog.csdn.net/Myuhua/article/details/81385609 (一)不含静态变量的java程序运行时内存变化过程分析 代码: package ...
- Mysql使用SSL连接
最近项目中用到了SSL连接,记录一下,环境为windows10,Mysql版本为5.6 查看是否支持 SSL 首先在 MySQL 上执行如下命令, 查询是否 MySQL 支持 SSL: mysql&g ...
- Docker下Jedis体验
jedis是redis的java版本的客户端实现,本文通过一些web请求&响应的实例展示了jedis的基本用法: 开始编码前我们先把环境准备好,总共两个server,对应两个docker容器: ...
- airflow + CeleryExecutor 环境搭建
airflow整合环境搭建 1. 整体结构 mysql -> 后端数据库 redis -> 用于broker CeleryExecutor -> 执行器 2. 环境安装 2.1,安装 ...
- 从网页跳转到自己的app
展开该数据并点击 Item 0.你将在这里定义自定义 URL scheme 的名字.只需要名字,不要在后面追加 :// — 比如,如果你输入 iOSDevApp,你的自定义 url 就是 iOSDev ...
- 磁盘告警之---神奇的魔法(Sparse file)
一.问题来源 半夜钉钉接到告警,某台机器的磁盘使用率少于20%,于是迷糊中爬起来,咔咔咔 find / -size +1G,咔咔咔,把几个只有4-5G的日志文件echo空值了一下,然后吓蒙了,刚刚 ...
- logback配置方法
logback是一个通用可靠.快速灵活的日志框架,它替代了log4j,和slf4j组成新的日志系统. slf4j是一个日志门面,为其他各种日志框架提供了统一的接口,代码中使用slf4j可以避免对某一种 ...
- WordPress后台地址路径修改方法
用过WordPress后台的,其实都知道http://域名目录/wp-login.php就是登录地址,如果这时候使用暴力破解,很可能破解密码(这就有些想象力了),下面芝麻带你看看如何自定义美观的地址. ...